一、页面定制CSS

  1. #home {
  2. margin: 0 auto;
  3. width: 80%;/*原始65*/
  4. min-width: 980px;/*页面顶部的宽度*/
  5. background-color: rgba(245, 245, 245, 0.7);
  6. padding: 30px;
  7. margin-top: 50px;
  8. margin-bottom: 50px;
  9. box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);
  10. }
  11. body {
  12. background: rgba(12, 100, 129, 1) url('http://images.cnblogs.com/cnblogs_com/Penn000/1013849/o_123.jpg') fixed no-repeat;
  13. background-position: 50% 5%;
  14. background-size: cover;
  15. }
  16. #blogTitle {
  17. height: 100px; /*高度*/
  18. clear: both;
  19. background-color: rgba(245, 245, 245, 0);
  20. }
  21. #blogTitle h1 {
  22. font-size: 36px;
  23. font-weight: bold;
  24. line-height: 1.8em;/*原始 1.6em*/
  25. margin-top: 10px;/*原始 15px */
  26. color: #548B54;
  27. }
  28. #blogTitle h2 {
  29. font-weight: normal;
  30. font-size: 17px;/*原始 16px ;font-size: 1.0rem;*/
  31. line-height: 1.8;
  32. color: #111;
  33. font-weight: bold;
  34. text-align: right;
  35. float: right;
  36. }
  37. #navigator{
  38. background-color: rgba(33, 160, 139, 0.9);
  39. }
  40. #navList a:link, #navList a:visited, #navList a:active{
  41. color: #eee;
  42. font-size: 18px;
  43. font-weight: bold;
  44. }
  45. .blogStats{
  46. color: #eee;
  47. }
  48. .postTitle {
  49. border-left: 8px solid rgba(33, 160, 139, 0.68);
  50. margin-left: 10px;
  51. margin-bottom: 10px;
  52. font-size: 20px;
  53. float: right;
  54. width: 100%;
  55. clear: both;
  56. }
  57. .postTitle a:link, .postTitle a:visited, .postTitle a:active {
  58. color: #21759b;
  59. transition: all 0.4s linear 0s;
  60. }
  61. .postTitle a:hover {
  62. margin-left: 30px;
  63. color: #0f3647;
  64. text-decoration: none;
  65. }
  66. .postCon {
  67. float: right;
  68. line-height: 1.5em;
  69. width: 100%;
  70. clear: both;
  71. padding: 10px 0;
  72. }
  73.  
  74. .day .postTitle a {
  75. padding-left: 10px;
  76. }
  77. .day {
  78. background: rgba(255, 255, 255, 0.5);
  79. }
  80. /*文章附加信息*/
  81. .postDesc {
  82. background: url(images/posted_time.png) no-repeat 0 1px;
  83. color: #757575;
  84. float: left;
  85. width: 100%;
  86. clear: both;
  87. text-align: left;
  88. font-family: "微软雅黑" , "宋体" , "黑体" ,Arial;
  89. font-size: 13px;
  90. padding-right: 20px;/*5px padding-left: 90px;posted 发表时间左边距离*/
  91. margin-top: 20px;
  92. line-height: 1.8;
  93. padding-bottom: 35px;
  94. }
  95.  
  96. .newsItem, .catListEssay, .catListLink, .catListNoteBook, .catListTag, .catListPostCategory,
  97. .catListPostArchive, .catListImageCategory, .catListArticleArchive, .catListView,
  98. .catListFeedback, .mySearch, .catListComment, .catListBlogRank, .catList, .catListArticleCategory ,#blog-calendar
  99. {
  100. background: rgba(255, 255, 255, 0.5);
  101. margin-bottom: 35px;
  102. word-wrap: break-word;
  103. }
  104.  
  105. .CalTitle{
  106. background: rgba(255, 255, 255, 0);
  107. }
  108. .catListTitle{
  109. background-color: rgba(33, 160, 139, 0.9);
  110. }
  111.  
  112. #topics{
  113. background: rgba(255, 255, 255, 0.5);
  114. }
  115.  
  116. .c_ad_block{
  117. display: none;
  118. }
  119.  
  120. #tbCommentBody{
  121. width: 100%;
  122. height: 200px;
  123. background: rgba(255, 255, 255, 0.5);
  124. }
  125.  
  126. #q{background: rgba(255, 255, 255, 0);}
  127.  
  128. .CalNextPrev{background: rgba(255, 255, 255, 0);}
  129.  
  130. .cnblogs_code{
  131. background: rgba(255, 255, 255, 0);
  132. }
  133.  
  134. .cnblogs_code div{
  135. background: rgba(255, 255, 255, 0);
  136. }
  137.  
  138. .cnblogs_code_toolbar{
  139. background: rgba(255, 255, 255, 0);
  140. }
  141.  
  142. .entrylist{
  143. background: rgba(255, 255, 255, 0.5);
  144. }
  145.  
  146. #cnblogs_post_body h2 {
  147. background: gray !important;
  148. background: #406CA4 !important;
  149. border-radius: 4px 4px 4px 4px !important;
  150. box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5);
  151. color: #FFFFFF;
  152. font-family: "微软雅黑", "宋体", "黑体", Arial;
  153. font-size: 17px;
  154. font-weight: bold;
  155. margin: 15px 0 !important;
  156. padding: 5px 0 5px 20px;
  157. }
  158.  
  159. .postBody a:link, .postBody a:visited, .postBody a:active {
  160. text-decoration: blink;
  161. border-bottom: 1px dashed #406ca4;
  162. }
  163. .postBody li, .postCon li {
  164. list-style-type: disc;
  165. margin-bottom: 0.2em;
  166. }
  167.  
  168. /*生成博客目录的CSS*/
  169. #uprightsideBar{
  170. font-size:12px;
  171. font-family:Arial, Helvetica, sans-serif;
  172. text-align:left;
  173. position:fixed;/*将div的位置固定到距离top:50px,right:0px的位置,这样div就会处在最右边的位置,距离顶部50px*/
  174. top:50px;
  175. right:0px;
  176. width: auto;
  177. height: auto;
  178. }
  179. #sideBarTab{
  180. float:left;
  181. width:30px;
  182. border:1px solid #e5e5e5;
  183. border-right:none;
  184. text-align:center;
  185. background:#ffffff;
  186. }
  187.  
  188. #sideBarContents{
  189. float:left;
  190. overflow:auto;
  191. overflow-x:hidden;!important;
  192. width:240px;
  193. min-height:108px;
  194. max-height:660px;
  195. border:1px solid #e5e5e5;
  196. border-right:none;
  197. background:#ffffff;
  198. }
  199. #sideBarContents dl{
  200. margin:;
  201. padding:;
  202. }
  203.  
  204. #sideBarContents dt{
  205. margin-top:8px;
  206. margin-left:5px;
  207. }
  208.  
  209. #sideBarContents dd, dt {
  210. cursor: pointer;
  211. }
  212.  
  213. #sideBarContents dd:hover, dt:hover {
  214. color:#A7995A;
  215. }
  216. #sideBarContents dd{
  217. margin-left:20px;
  218. }

二、自动生成目录代码

需要申请JS权限

页首代码

  1. <script type="text/javascript">
  2. /*
  3. 功能:生成博客目录的JS工具
  4. 测试:IE8,火狐,google测试通过
  5. 孤傲苍狼
  6. 2014-5-11
  7. */
  8. var BlogDirectory = {
  9. /*
  10. 获取元素位置,距浏览器左边界的距离(left)和距浏览器上边界的距离(top)
  11. */
  12. getElementPosition:function (ele) {
  13. var topPosition = 0;
  14. var leftPosition = 0;
  15. while (ele){
  16. topPosition += ele.offsetTop;
  17. leftPosition += ele.offsetLeft;
  18. ele = ele.offsetParent;
  19. }
  20. return {top:topPosition, left:leftPosition};
  21. },
  22.  
  23. /*
  24. 获取滚动条当前位置
  25. */
  26. getScrollBarPosition:function () {
  27. var scrollBarPosition = document.body.scrollTop || document.documentElement.scrollTop;
  28. return scrollBarPosition;
  29. },
  30.  
  31. /*
  32. 移动滚动条,finalPos 为目的位置,internal 为移动速度
  33. */
  34. moveScrollBar:function(finalpos, interval) {
  35.  
  36. //若不支持此方法,则退出
  37. if(!window.scrollTo) {
  38. return false;
  39. }
  40.  
  41. //窗体滚动时,禁用鼠标滚轮
  42. window.onmousewheel = function(){
  43. return false;
  44. };
  45.  
  46. //清除计时
  47. if (document.body.movement) {
  48. clearTimeout(document.body.movement);
  49. }
  50.  
  51. var currentpos =BlogDirectory.getScrollBarPosition();//获取滚动条当前位置
  52.  
  53. var dist = 0;
  54. if (currentpos == finalpos) {//到达预定位置,则解禁鼠标滚轮,并退出
  55. window.onmousewheel = function(){
  56. return true;
  57. }
  58. return true;
  59. }
  60. if (currentpos < finalpos) {//未到达,则计算下一步所要移动的距离
  61. dist = Math.ceil((finalpos - currentpos)/10);
  62. currentpos += dist;
  63. }
  64. if (currentpos > finalpos) {
  65. dist = Math.ceil((currentpos - finalpos)/10);
  66. currentpos -= dist;
  67. }
  68.  
  69. var scrTop = BlogDirectory.getScrollBarPosition();//获取滚动条当前位置
  70. window.scrollTo(0, currentpos);//移动窗口
  71. if(BlogDirectory.getScrollBarPosition() == scrTop)//若已到底部,则解禁鼠标滚轮,并退出
  72. {
  73. window.onmousewheel = function(){
  74. return true;
  75. }
  76. return true;
  77. }
  78.  
  79. //进行下一步移动
  80. var repeat = "BlogDirectory.moveScrollBar(" + finalpos + "," + interval + ")";
  81. document.body.movement = setTimeout(repeat, interval);
  82. },
  83.  
  84. htmlDecode:function (text){
  85. var temp = document.createElement("div");
  86. temp.innerHTML = text;
  87. var output = temp.innerText || temp.textContent;
  88. temp = null;
  89. return output;
  90. },
  91.  
  92. /*
  93. 创建博客目录,
  94. id表示包含博文正文的 div 容器的 id,
  95. mt 和 st 分别表示主标题和次级标题的标签名称(如 H2、H3,大写或小写都可以!),
  96. interval 表示移动的速度
  97. */
  98. createBlogDirectory:function (id, mt, st, interval){
  99. //获取博文正文div容器
  100. var elem = document.getElementById(id);
  101. if(!elem) return false;
  102. //获取div中所有元素结点
  103. var nodes = elem.getElementsByTagName("*");
  104. //创建博客目录的div容器
  105. var divSideBar = document.createElement('DIV');
  106. divSideBar.className = 'uprightsideBar';
  107. divSideBar.setAttribute('id', 'uprightsideBar');
  108. var divSideBarTab = document.createElement('DIV');
  109. divSideBarTab.setAttribute('id', 'sideBarTab');
  110. divSideBar.appendChild(divSideBarTab);
  111. var h2 = document.createElement('H2');
  112. divSideBarTab.appendChild(h2);
  113. var txt = document.createTextNode('目录导航');
  114. h2.appendChild(txt);
  115. var divSideBarContents = document.createElement('DIV');
  116. divSideBarContents.style.display = 'none';
  117. divSideBarContents.setAttribute('id', 'sideBarContents');
  118. divSideBar.appendChild(divSideBarContents);
  119. //创建自定义列表
  120. var dlist = document.createElement("dl");
  121. divSideBarContents.appendChild(dlist);
  122. var num = 0;//统计找到的mt和st
  123. mt = mt.toUpperCase();//转化成大写
  124. st = st.toUpperCase();//转化成大写
  125. //遍历所有元素结点
  126. for(var i=0; i<nodes.length; i++)
  127. {
  128. if(nodes[i].nodeName == mt|| nodes[i].nodeName == st)
  129. {
  130. //获取标题文本
  131. var nodetext = nodes[i].innerHTML.replace(/<\/?[^>]+>/g,"");//innerHTML里面的内容可能有HTML标签,所以用正则表达式去除HTML的标签
  132. nodetext = nodetext.replace(/ /ig, "");//替换掉所有的
  133. nodetext = BlogDirectory.htmlDecode(nodetext);
  134. //插入锚
  135. nodes[i].setAttribute("id", "blogTitle" + num);
  136. var item;
  137. switch(nodes[i].nodeName)
  138. {
  139. case mt: //若为主标题
  140. item = document.createElement("dt");
  141. break;
  142. case st: //若为子标题
  143. item = document.createElement("dd");
  144. break;
  145. }
  146.  
  147. //创建锚链接
  148. var itemtext = document.createTextNode(nodetext);
  149. item.appendChild(itemtext);
  150. item.setAttribute("name", num);
  151. item.onclick = function(){ //添加鼠标点击触发函数
  152. var pos = BlogDirectory.getElementPosition(document.getElementById("blogTitle" + this.getAttribute("name")));
  153. if(!BlogDirectory.moveScrollBar(pos.top, interval)) return false;
  154. };
  155.  
  156. //将自定义表项加入自定义列表中
  157. dlist.appendChild(item);
  158. num++;
  159. }
  160. }
  161.  
  162. if(num == 0) return false;
  163. /*鼠标进入时的事件处理*/
  164. divSideBarTab.onmouseenter = function(){
  165. divSideBarContents.style.display = 'block';
  166. }
  167. /*鼠标离开时的事件处理*/
  168. divSideBar.onmouseleave = function() {
  169. divSideBarContents.style.display = 'none';
  170. }
  171.  
  172. document.body.appendChild(divSideBar);
  173. }
  174.  
  175. };
  176.  
  177. window.onload=function(){
  178. /*页面加载完成之后生成博客目录*/
  179. BlogDirectory.createBlogDirectory("cnblogs_post_body","h2","h3",20);
  180. }
  181. </script>

页脚代码

  1. <script language="javascript" type="text/javascript">
  2.  
  3. // 生成目录索引列表
  4. // ref: http://www.cnblogs.com/wangqiguo/p/4355032.html
  5. // modified by: zzq
  6. function GenerateContentList()
  7. {
  8. var mainContent = $('#cnblogs_post_body');
  9. var h2_list = $('#cnblogs_post_body h2');//如果你的章节标题不是h2,只需要将这里的h2换掉即可
  10.  
  11. if(mainContent.length < 1)
  12. return;
  13.  
  14. if(h2_list.length>0)
  15. {
  16. var content = '<a name="_labelTop"></a>';
  17. content += '<div id="navCategory">';
  18. content += '<p style="font-size:18px"><b>目录</b></p>';
  19. content += '<ul>';
  20. for(var i=0; i<h2_list.length; i++)
  21. {
  22. var go_to_top = '<div style="text-align: right"><a href="#_labelTop">回到顶部</a><a name="_label' + i + '"></a></div>';
  23. $(h2_list[i]).before(go_to_top);
  24.  
  25. var h3_list = $(h2_list[i]).nextAll("h3");
  26. var li3_content = '';
  27. for(var j=0; j<h3_list.length; j++)
  28. {
  29. var tmp = $(h3_list[j]).prevAll('h2').first();
  30. if(!tmp.is(h2_list[i]))
  31. break;
  32. var li3_anchor = '<a name="_label' + i + '_' + j + '"></a>';
  33. $(h3_list[j]).before(li3_anchor);
  34. li3_content += '<li><a href="#_label' + i + '_' + j + '">' + $(h3_list[j]).text() + '</a></li>';
  35. }
  36.  
  37. var li2_content = '';
  38. if(li3_content.length > 0)
  39. li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a><ul>' + li3_content + '</ul></li>';
  40. else
  41. li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a></li>';
  42. content += li2_content;
  43. }
  44. content += '</ul>';
  45. content += '</div><p>&nbsp;</p>';
  46. content += '<p style="font-size:18px"><b>正文</b></p>';
  47. if($('#cnblogs_post_body').length != 0 )
  48. {
  49. $($('#cnblogs_post_body')[0]).prepend(content);
  50. }
  51. }
  52.  
  53. var qqinfo = '<p style="color:navy;font-size:12px">浏览器右上角查看导航按钮>>>></p>';
  54. $(mainContent[0]).prepend(qqinfo);
  55. }
  56.  
  57. GenerateContentList();
  58. </script>

cnblog博客CSS定制的更多相关文章

  1. 美化博客CSS

    title: 美化博客CSS date: 2019/01/19 14:28:59 --- 美化博客CSS 可以去这里看下好看的样式 修改下文档的css,博客园是在页面定制CSS代码,我这里修改了下标题 ...

  2. 迁移cnblog博客

    title: 迁移cnblog博客 date: 2018-03-18 categories: cnblogs tags: life 写博客最怕就是这种迁来迁去的,太麻烦了 还好老早就使用markdow ...

  3. 定制博客CSS样式

    首先你需要添加页面CSS代码

  4. 我的博客css得到别人的认可

    你好 在吗?? 本消息来自QQ临时会话,如果您收到骚扰信息,可点击以下网址中的"停用服务"关闭临时会话: http://shang.qq.com/widget/set.php 20 ...

  5. 博客CSS样式 二

    预览 可自行更改颜色 背景图 页面定制 CSS 代码中加入: url为背景图地址,可下载心仪背景图后上传到博客园相册后获取地址 body { color: #000; background: url( ...

  6. 我的博客CSS

    这个是按照custom标准模板来做的,博客园已经有模版了,有些细节不是很好,这个是源CSS,喜欢的可以自由DIY,完善更好. @charset "utf-8"; /* CSS Do ...

  7. 如何更快更好的写出cnblog博客?windows live writer推荐

    之前总是会羡慕网上那些技术牛人的博客都写的那么给力,后来一搜发现还是有工具可用的. 这里就推荐一款写博客的"神器",Windows Live Writer (Get It Now! ...

  8. cnblog博客停用

    本博客从今日起停止更新,后续的文章将会发布在新的博客mrbackkom.github.io

  9. emacs写cnblog博客

    emacs的版本 org-mode版本   参考链接: 用Emacs管理博客园博客   用emacs org-mode写cnblogs博客 用emacs org-mode写博客 & 发布到博客 ...

随机推荐

  1. android prgoressBar setProgressDrawable 在4.0系统式正常,在2.3系统上不能正常使用的问题

    上次在做一个电池电量的进度显示时,需要根据背景主题色来切换电池电量的进度的颜色, 但是在对prgoressBar的setProgressDrawable进行设置之后发现,在4.0系统上能够正常,而在2 ...

  2. js,indexOf()、lastIndexOf()

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 提示和注释 注释:indexOf() 方法对大小写敏感! 注释:如果要检索的字符串值没有出现,则该方法返回 -1. 实例 在 ...

  3. JavaScript验证时间格式

    1. 短时间,形如 (13:04:06) function isTime(str) { var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/) ...

  4. pytest使用笔记(二)——pytest+allure配置使用

    使用环境及预置条件 开发工具:pycharm 操作系统:win10 开发语言:python3.6 使用库:pytest4.0,pytest-allure-adaptor 注意不要安装allure-py ...

  5. 修复bug有哪些更快的技术?做好这6点就够了

    你有没有想过为什么有时修复错误似乎比它应该花费更长的时间?当你终于找到问题时,事实证明你所需要的只是一个小小的改变.然而,花了很多时间才能找到正在发生的事情.这种情况比我想象的更频繁. 另一方面,当您 ...

  6. dubbo 多人开发时(即开发环境),版本号不要一致

    导致问题:如果版本号相同,会调到别人的服务 不需要修改配置文件.直接改idea配置即可. Configurations ====> 添加parameters ===> dubbo.cons ...

  7. SSL详解

    SSL 1.整体结构 SSL是一个介于HTTP协议与TCP之间的一个可选层,其位置大致如下 SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Int ...

  8. linux常用命令总结(含选项参数)

    • 用户切换 su              切换到root用户并不切换环境 su - root   切换到root用户并切换环境 su  redhat  切换到redhat不切换环境 • cd切换目 ...

  9. 32bit 天堂2 windows 2000 server架设教程

    服务器的软件要求: Microsoft Windows 2000 Server or advanced Server license 100 Microsoft SQL Server 2000 Ent ...

  10. 备份win10的驱动程序

    目录 折腾历程 怎么备份驱动 备份的驱动如何使用 关于驱动程序的OS兼容性 驱动程序的其他安装方式 1.折腾历程 从闲鱼上收了一个INSIGNIA的二合一笔记本,w7100,因原装win10性能不行自 ...