博客CSS定製

1、頁面定製CSS

 #home {

     margin: 0 auto;

     width: 80%;/*原始65*/

     min-width: 980px;/*頁面頂部的寬度*/

     background-color: rgba(245, 245, 245, 0.7);

     padding: 30px;

     margin-top: 50px;

     margin-bottom: 50px;

     box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);

 }

 body {

     background: rgba(12, 100, 129, 1) url('http://images.cnblogs.com/cnblogs_com/Penn000/1013849/o_123.jpg') fixed no-repeat;

     background-position: 50% 5%;

     background-size: cover;

 }

 #blogTitle {

     height: 100px;  /*高度*/

     clear: both;

     background-color: rgba(245, 245, 245, 0);

 }

 #blogTitle h1 {

     font-size: 36px;

     font-weight: bold;

     line-height: 1.8em;/*原始 1.6em*/

     margin-top: 10px;/*原始 15px */

     color: #548B54;

 }

 #blogTitle h2 {

     font-weight: normal;

     font-size: 17px;/*原始 16px ;font-size: 1.0rem;*/

     line-height: 1.8;

     color: #111;

     font-weight: bold;

     text-align: right;

     float: right;

 }

 #navigator{

     background-color: rgba(33, 160, 139, 0.9);

 }

 #navList a:link, #navList a:visited, #navList a:active{

     color: #eee;

     font-size: 18px;

     font-weight: bold;

 }

 .blogStats{

     color: #eee;

 }

 .postTitle {

     border-left: 8px solid rgba(33, 160, 139, 0.68);

     margin-left: 10px;

     margin-bottom: 10px;

     font-size: 20px;

     float: right;

     width: 100%;

     clear: both;

 }

 .postTitle a:link, .postTitle a:visited, .postTitle a:active {

     color: #21759b;

     transition: all 0.4s linear 0s;

 }

 .postTitle a:hover {

     margin-left: 30px;

     color: #0f3647;

     text-decoration: none;

 }

 .postCon {

     float: right;

     line-height: 1.5em;

     width: 100%;

     clear: both;

     padding: 10px 0;

 }

 .day .postTitle a {

     padding-left: 10px;

 }

 .day {

     background: rgba(255, 255, 255, 0.5);

 }

 /*文章附加信息*/

 .postDesc {

     background: url(images/posted_time.png) no-repeat 0 1px;

     color: #757575;

     float: left;

     width: 100%;

     clear: both;

     text-align: left;

     font-family: "微軟雅黑" , "宋體" , "黑體" ,Arial;

     font-size: 13px;

     padding-right: 20px;/*5px  padding-left: 90px;posted 發表時間左邊距離*/

     margin-top: 20px;

     line-height: 1.8;

     padding-bottom: 35px;

 }

 .newsItem, .catListEssay, .catListLink, .catListNoteBook, .catListTag, .catListPostCategory,

 .catListPostArchive, .catListImageCategory, .catListArticleArchive, .catListView,

 .catListFeedback, .mySearch, .catListComment, .catListBlogRank, .catList, .catListArticleCategory ,#blog-calendar

 {

     background: rgba(255, 255, 255, 0.5);

     margin-bottom: 35px;

     word-wrap: break-word;

 }

 .CalTitle{

     background: rgba(255, 255, 255, 0);

 }

 .catListTitle{

     background-color: rgba(33, 160, 139, 0.9);

 }

 #topics{

     background: rgba(255, 255, 255, 0.5);

 }

 .c_ad_block{

     display: none;

 }

 #tbCommentBody{

     width: 100%;

     height: 200px;

     background: rgba(255, 255, 255, 0.5);

 }

 #q{background: rgba(255, 255, 255, 0);}

 .CalNextPrev{background: rgba(255, 255, 255, 0);}

 .cnblogs_code{

     background: rgba(255, 255, 255, 0);

 }

 .cnblogs_code div{

     background: rgba(255, 255, 255, 0);

 }

 .cnblogs_code_toolbar{

     background: rgba(255, 255, 255, 0);

 }

 .entrylist{

     background: rgba(255, 255, 255, 0.5);

 }

 #cnblogs_post_body h2 {

 background: gray !important;

 background: #406CA4 !important;

 border-radius: 4px 4px 4px 4px !important;

 box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5);

 color: #FFFFFF;

 font-family: "微軟雅黑", "宋體", "黑體", Arial;

 font-size: 17px;

 font-weight: bold;

 margin: 15px 0 !important;

 padding: 5px 0 5px 20px;

 }

 .postBody a:link, .postBody a:visited, .postBody a:active {

     text-decoration: blink;

     border-bottom: 1px dashed #406ca4;

 }

 .postBody li, .postCon li {

     list-style-type: disc;

     margin-bottom: 0.2em;

 }

 /*生成博客目錄的CSS*/

 #uprightsideBar{

     font-size:12px;

     font-family:Arial, Helvetica, sans-serif;

     text-align:left;

     position:fixed;/*將div的位置固定到距離top:50px,right:0px的位置,這樣div就會處在最右邊的位置,距離頂部50px*/

     top:50px;

     right:0px;

     width: auto;

     height: auto;

 }

 #sideBarTab{

     float:left;

     width:30px;

     border:1px solid #e5e5e5;

     border-right:none;

     text-align:center;

     background:#ffffff;

 }

 #sideBarContents{

     float:left;

     overflow:auto;

     overflow-x:hidden;!important;

     width:240px;

     min-height:108px;

     max-height:660px;

     border:1px solid #e5e5e5;

     border-right:none;

     background:#ffffff;

 }

 #sideBarContents dl{

     margin:;

     padding:;

 }

 #sideBarContents dt{

     margin-top:8px;

     margin-left:5px;

 }

 #sideBarContents dd, dt {

     cursor: pointer;

 }

 #sideBarContents dd:hover, dt:hover {

     color:#A7995A;

 }

 #sideBarContents dd{

     margin-left:20px;

 }

2、自動生成目錄代碼

需要申請JS權限

頁首代碼

<script type="text/javascript">

 /*

     功能:生成博客目錄的JS工具

     測試:IE8,火狐,google測試通過

     孤傲蒼狼

     2014-5-11

 */

 var BlogDirectory = {

     /*

         獲取元素位置,距瀏覽器左邊界的距離(left)和距瀏覽器上邊界的距離(top)

     */

     getElementPosition:function (ele) {

         var topPosition = 0;

         var leftPosition = 0;

         while (ele){

             topPosition += ele.offsetTop;

             leftPosition += ele.offsetLeft;

             ele = ele.offsetParent;

         }

         return {top:topPosition, left:leftPosition};

     },

     /*

     獲取滾動條當前位置

     */

     getScrollBarPosition:function () {

         var scrollBarPosition = document.body.scrollTop || document.documentElement.scrollTop;

         return  scrollBarPosition;

     },

     /*

     移動滾動條,finalPos 爲目的位置,internal 爲移動速度

     */

     moveScrollBar:function(finalpos, interval) {

         //若不支持此方法,則退出

         if(!window.scrollTo) {

             return false;

         }

         //窗體滾動時,禁用鼠標滾輪

         window.onmousewheel = function(){

             return false;

         };

         //清除計時

         if (document.body.movement) {

             clearTimeout(document.body.movement);

         }

         var currentpos =BlogDirectory.getScrollBarPosition();//獲取滾動條當前位置

         var dist = 0;

         if (currentpos == finalpos) {//到達預定位置,則解禁鼠標滾輪,並退出

             window.onmousewheel = function(){

                 return true;

             }

             return true;

         }

         if (currentpos < finalpos) {//未到達,則計算下一步所要移動的距離

             dist = Math.ceil((finalpos - currentpos)/10);

             currentpos += dist;

         }

         if (currentpos > finalpos) {

             dist = Math.ceil((currentpos - finalpos)/10);

             currentpos -= dist;

         }

         var scrTop = BlogDirectory.getScrollBarPosition();//獲取滾動條當前位置

         window.scrollTo(0, currentpos);//移動窗口

         if(BlogDirectory.getScrollBarPosition() == scrTop)//若已到底部,則解禁鼠標滾輪,並退出

         {

             window.onmousewheel = function(){

                 return true;

             }

             return true;

         }

         //進行下一步移動

         var repeat = "BlogDirectory.moveScrollBar(" + finalpos + "," + interval + ")";

         document.body.movement = setTimeout(repeat, interval);

     },

     htmlDecode:function (text){

         var temp = document.createElement("div");

         temp.innerHTML = text;

         var output = temp.innerText || temp.textContent;

         temp = null;

         return output;

     },

     /*

     創建博客目錄,

     id表示包含博文正文的 div 容器的 id,

     mt 和 st 分別表示主標題和次級標題的標籤名稱(如 H2、H3,大寫或小寫都可以!),

     interval 表示移動的速度

     */

     createBlogDirectory:function (id, mt, st, interval){

          //獲取博文正文div容器

         var elem = document.getElementById(id);

         if(!elem) return false;

         //獲取div中所有元素結點

         var nodes = elem.getElementsByTagName("*");

         //創建博客目錄的div容器

         var divSideBar = document.createElement('DIV');

         divSideBar.className = 'uprightsideBar';

         divSideBar.setAttribute('id', 'uprightsideBar');

         var divSideBarTab = document.createElement('DIV');

         divSideBarTab.setAttribute('id', 'sideBarTab');

         divSideBar.appendChild(divSideBarTab);

         var h2 = document.createElement('H2');

         divSideBarTab.appendChild(h2);

         var txt = document.createTextNode('目錄導航');

         h2.appendChild(txt);

         var divSideBarContents = document.createElement('DIV');

         divSideBarContents.style.display = 'none';

         divSideBarContents.setAttribute('id', 'sideBarContents');

         divSideBar.appendChild(divSideBarContents);

         //創建自定義列表

         var dlist = document.createElement("dl");

         divSideBarContents.appendChild(dlist);

         var num = 0;//統計找到的mt和st

         mt = mt.toUpperCase();//轉化成大寫

         st = st.toUpperCase();//轉化成大寫

         //遍歷所有元素結點

         for(var i=0; i<nodes.length; i++)

         {

             if(nodes[i].nodeName == mt|| nodes[i].nodeName == st)

             {

                 //獲取標題文本

                 var nodetext = nodes[i].innerHTML.replace(/<\/?[^>]+>/g,"");//innerHTML裏面的內容可能有HTML標籤,所以用正則表達式去除HTML的標籤

                 nodetext = nodetext.replace(/ /ig, "");//替換掉所有的

                 nodetext = BlogDirectory.htmlDecode(nodetext);

                 //插入錨

                 nodes[i].setAttribute("id", "blogTitle" + num);

                 var item;

                 switch(nodes[i].nodeName)

                 {

                     case mt:    //若爲主標題

                         item = document.createElement("dt");

                         break;

                     case st:    //若爲子標題

                         item = document.createElement("dd");

                         break;

                 }

                 //創建錨鏈接

                 var itemtext = document.createTextNode(nodetext);

                 item.appendChild(itemtext);

                 item.setAttribute("name", num);

                 item.onclick = function(){        //添加鼠標點擊觸發函數

                     var pos = BlogDirectory.getElementPosition(document.getElementById("blogTitle" + this.getAttribute("name")));

                     if(!BlogDirectory.moveScrollBar(pos.top, interval)) return false;

                 };

                 //將自定義表項加入自定義列表中

                 dlist.appendChild(item);

                 num++;

             }

         }

         if(num == 0) return false;

         /*鼠標進入時的事件處理*/

         divSideBarTab.onmouseenter = function(){

             divSideBarContents.style.display = 'block';

         }

         /*鼠標離開時的事件處理*/

         divSideBar.onmouseleave = function() {

             divSideBarContents.style.display = 'none';

         }

         document.body.appendChild(divSideBar);

     }

 };

 window.onload=function(){

     /*頁面加載完成之後生成博客目錄*/

     BlogDirectory.createBlogDirectory("cnblogs_post_body","h2","h3",20);

 }

 </script>

 <script language="javascript" type="text/javascript">

 // 生成目錄索引列表

 // ref: http://www.cnblogs.com/wangqiguo/p/4355032.html

 // modified by: zzq

 function GenerateContentList()

 {

     var mainContent = $('#cnblogs_post_body');

     var h2_list = $('#cnblogs_post_body h2');//如果你的章節標題不是h2,只需要將這裏的h2換掉即可

     if(mainContent.length < 1)

         return;

     if(h2_list.length>0)

     {

         var content = '<a name="_labelTop"></a>';

         content += '<div id="navCategory">';

         content += '<p style="font-size:18px"><b>目錄</b></p>';

         content += '<ul>';

         for(var i=0; i<h2_list.length; i++)

         {

             var go_to_top = '<div style="text-align: right"><a href="#_labelTop">回到頂部</a><a name="_label' + i + '"></a></div>';

             $(h2_list[i]).before(go_to_top);

             var h3_list = $(h2_list[i]).nextAll("h3");

             var li3_content = '';

             for(var j=0; j<h3_list.length; j++)

             {

                 var tmp = $(h3_list[j]).prevAll('h2').first();

                 if(!tmp.is(h2_list[i]))

                     break;

                 var li3_anchor = '<a name="_label' + i + '_' + j + '"></a>';

                 $(h3_list[j]).before(li3_anchor);

                 li3_content += '<li><a href="#_label' + i + '_' + j + '">' + $(h3_list[j]).text() + '</a></li>';

             }

             var li2_content = '';

             if(li3_content.length > 0)

                 li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a><ul>' + li3_content + '</ul></li>';

             else

                 li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a></li>';

             content += li2_content;

         }

         content += '</ul>';

         content += '</div><p>&nbsp;</p>';

         content += '<p style="font-size:18px"><b>正文</b></p>';

         if($('#cnblogs_post_body').length != 0 )

         {

             $($('#cnblogs_post_body')[0]).prepend(content);

         }

     }

     var qqinfo =  '<p style="color:navy;font-size:12px">瀏覽器右上角查看導航按鈕>>>></p>';

     $(mainContent[0]).prepend(qqinfo);

 }

 GenerateContentList();

 </script>
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章