自定义博客园主题样式

Posted TreeSir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义博客园主题样式相关的知识,希望对你有一定的参考价值。

如果想用我当前博客主题样式,可以参考这里:

https://github.com/BNDong/Cnblogs-Theme-SimpleMemory


 

自定义博客园主题样式 

基础实现

之前有记录自己自定义目录以及相关样式功能,感兴趣的可以看下

博客园如何设置目录生成&设置目录&设置标题背景色&修改标题背景色

在此基础上再加点捣鼓内容,实现主题样式透明化、增加侧边“分享”模块、标题级别显示设置

具体代码中会进行注释,可进行相应参考

内容比较粗略,将就看喽~

透明化

效果

具体实现

******************************************
页面定制CSS代码
******************************************

<!--此处修改主题透明度(主页面)-->
#home {
    margin: 0 auto;
    width: 65%;
    min-width: 950px;
    background-color: rgba(255, 255, 255, 0.3);
    padding: 30px;
    margin-top: 50px;
    margin-bottom: 50px;
    box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);
}


<!--此处自定义背景图片-->
body {
background: url(http://owf7pjfxd.bkt.clouddn.com/18-2-8/70588419.jpg) no-repeat fixed;
    background-size: cover;
}


<!--此处修改主题透明度(侧边栏)-->
.newsItem, .catListEssay, .catListLink, .catListNoteBook, .catListTag, .catListPostCategory, .catListPostArchive, .catListImageCategory, .catListArticleArchive, .catListView, .catListFeedback, .mySearch, .catListComment, .catListBlogRank, .catList, .catListArticleCategory {
    background: rgba(255, 255, 255, 0);
    margin-bottom: 35px;
    word-wrap: break-word;
}

 <!--此处自定义标题背景色-->
#cnblogs_post_body h1 {
background: #265B8A;
border-radius: 6px 6px 6px 6px;
color: #FFFFFF;
font-family: FZShuTi;
font-size: 23px;
font-weight: bold;
height: 25px;
line-height: 25px;
margin: 18px 0 !important;
padding: 12px 0 8px 5px;
text-shadow: 2px 2px 3px #222222;
text-align:center;
margin-bottom: 20px;
}
#cnblogs_post_body h2 {
background-color: #008FC6;
border-radius: 3px;
text-align:center;
color: white;
text-shadow: 1px 1px 2px #222222;
padding-left: 15px;
margin-bottom: 12px;
}
#cnblogs_post_body h3 {
background-color: #51C332;
border-radius: 3px;
text-align:center;
color: white;
text-shadow: 1px 1px 2px #222222;
padding: 5px 15px;
margin-bottom: 10px;
width:50%
}

#cnblogs_post_body h4 {
    background-color: #5bc0de;
    border-radius: 3px;
    text-align:center;
    color: white;
    text-shadow: 1px 1px 2px #222222;
    padding: 5px 15px;
    margin-bottom: 10px;
    width:25%
}

code {
padding: 1px 3px;
margin: 0 3px;
background: #ddd;
border: 1px solid #ccc;
font-family: Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;
word-wrap: break-word;
font-size: 14px;
}
#cnblogs_post_body table {
text-align: center;
width: 100%;
border: 1px solid #dedede;
margin: 15px 0;
border-collapse: collapse;
}
#cnblogs_post_body table thead tr {
background: #f8f8f8;
}
#cnblogs_post_body table tbody tr:hover {
background: #efefef;
}

 

<!--此处修改主题透明度(侧边栏)--> 下面的代码修改侧边栏部分透明度

“分享”模块

效果图

具体实现

******************************************
博客侧边栏公告
******************************************

<!--侧边悬浮分享模块-->
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"slide":{"type":"slide","bdImg":"6","bdPos":"right","bdTop":"100"},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"}};with(document)0[(getElementsByTagName(\'head\')[0]||body).appendChild(createElement(\'script\')).src=\'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=\'+~(-new Date()/36e5)];</script>
<img src="http://owf7pjfxd.bkt.clouddn.com/18-1-11/98960780.jpg" alt="Joe_Z的头像" class="img_avatar" width="150px" style="border-radius:50%">
博客侧边栏公告

 标题级别显示

效果图

 

具体实现

详见代码and注释

******************************************
页脚html代码
******************************************

<script language="javascript" type="text/javascript">
// 生成目录索引列表

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" style="color:#152e97;">\';
        content += \'<p style="font-size:18px;"><b style="margin-left: 6px">阅读目录</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" style="color:#f68a33">回到顶部</a><a name="_label\' + i + \'"></a></div>\';
            $(h2_list[i]).before(go_to_top);

           var h3_list = $(h2_list[i]).nextAll("h9");  
       // 把“h9”换成“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 + \'" style="text-decoration: none"></a>\';
                $(h3_list[j]).before(li3_anchor);
                li3_content += \'<li><a href="#_label\' + i + \'_\' + j + \'" style="text-decoration: none">\' + $(h3_list[j]).text() + \'</a></li>\';
            }

            var li2_content = \'\';
            if(li3_content.length > 0)
                li2_content = \'<li><a href="#_label\' + i + \'" style="text-decoration: none">\' + $(h2_list[i]).text() + \'</a><ul>\' + li3_content + \'</ul></li>\';
            else
                li2_content = \'<li><a href="#_label\' + i + \'" style="text-decoration: none">\' + $(h2_list[i]).text() + \'</a></li>\';
            content += li2_content;
        }
        content += \'</ul>\';
        content += \'</div><p>&nbsp;</p>\';
        content += \'<hr style="height:1px;border:none;border-top:1px dashed #2b542c;"/>\';
        if($(\'#cnblogs_post_body\').length != 0 )
        {
            $($(\'#cnblogs_post_body\')[0]).prepend(content);
        }
    }
}

GenerateContentList();
</script>
页脚Html代码

提示

样式的设定可以根据你所选择的主题模板来自定义,想自定义背景图的话,建议选择博客园提供的留白较多的模板进行改,这样修改空间更大;
背景图,建议使用图床,并且上传时尽量压缩下图片,不然访问时会不同程度降低你博客园响应速度。


 

如下图,可以选择界面简洁,留白较多的模板,这样修改起来相对方便些;

不同模板修改的效果就不一样,所以,这套东东不具有通用性,要根据你的口味自己去折腾哦

注:

  代码主要用到了HTML标签选择器、css页面样式、JS;

  设置背景透明度时使用 rgba格式

 

以上是关于自定义博客园主题样式的主要内容,如果未能解决你的问题,请参考以下文章

自定义博客园主题样式

使用highlightjs_markdown编辑器自定义博客园代码高亮

博客园界面代码风格(代码样式)自定义设置

自定义博客园样式

自定义博客园首页样式

博客样式美化 一