博客园自定义代码高亮模式


title: 博客园如何自定义代码高亮

最近在博客园捣鼓代码高亮的问题,由于之前没有系统的学过css,弄了好久。

博客园支持定制css代码,以及支持js。可以很大程度的自定义博客页面,比如代码高亮模式,官方默认的高亮模式太丑了。后来查阅质料,知道有一个插件highlight.js。里面有很多代码高亮的风格。大家可以去highlight下载,但是这个网站经常上不去。大家可以找我要这个插件。下就开始如何定制代码高亮了。

解压缩highlight,进入styles文件下,会发现有很多的css文件,这就各种代码的高亮风格。一开始我就直接复制里面的css代码,把它粘到 “页面定制CSS代码” 里面了,但是效果并没有改变,后来我打开博客F12进入调试界面发现了问题由于我是用的Markdown编辑器,生成的代码有都有markdown的标识,而原来的highlight中的css代码都是直接.hljs{...}所以它没有选中任何元素,自然就没有效果了。我把css代码稍作修改:

.cnblogs-markdown .hljs{
    display: block;
    overflow-x: auto;
    padding: 0.5em !important;
    background: #23241f !important;
    font-size: 16px !important;
   font-weight:bold !important;
  }

这样就能选中元素并且按照css样式进行修改了。通过调试发现有些字段后面有!important,刚开始我没有加这个关键词,更改之后仍然没有效果,后来加上就可以了。

颜色是发生变化了,但是新的问题出现了。更改之后我的代码是个样子的

这是什么鬼,旁边的同学看了之后说怎么这么昏啊,这一句提醒了我——是不是有阴影的样式,我继续在调试中找果然让我找到了

当然了上面的是我改过之后的值,把阴影设为透明,就可以了

  div.postBody {
      color: #666;
      text-shadow: 0 0px rgba(0, 0, 0, 0.05);
  }

好了大功告成下面是我的css代码:

/*

Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/

*/
div.postBody {
    color: #666;
    text-shadow: 0 0px rgba(0, 0, 0, 0.05);
}
.cnblogs-markdown .hljs{
  display: block;
  overflow-x: auto;
  padding: 0.5em !important;
  background: #23241f !important;
  font-size: 16px !important;
 /* font-weight:bold !important;*/

}

.cnblogs-markdown .hljs,
.hljs-tag,
.hljs-subst {
  color: #f8f8f2;
}

.hljs-strong,
.hljs-emphasis {
  color: #a8a8a2;
}

.hljs-bullet,
.hljs-quote,
.hljs-number,
.hljs-regexp,
.hljs-literal,
.hljs-link {
  color: #ae81ff;
}

.hljs-code,
.hljs-title,
.hljs-section,
.hljs-selector-class {
  color: #a6e22e;
}

.cnblogs-markdown .hljs-strong {
  font-weight: bold;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-name,
.hljs-attr {
  color: #f92672;
}

.hljs-symbol,
.hljs-attribute {
  color: #66d9ef;
}

.hljs-params,
.hljs-class .hljs-title {
  color: #f8f8f2;
}

.hljs-string,
.hljs-type,
.hljs-built_in,
.hljs-builtin-name,
.hljs-selector-id,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-addition,
.hljs-variable,
.hljs-template-variable {
  color: #e6db74;
}

.hljs-comment,
.hljs-deletion,
.hljs-meta {
  color: #75715e;
}

原文地址:https://www.cnblogs.com/dccmmtop/p/6811667.html