CSDN代码不能语法高亮的原因探索
1、找原因
昨天写完博客发现其中代码不能高亮,本以为是写的格式出了问题。反复修改之后依然无法解决,于是打开源码查看:
打开代码对应的标签源码如下图所示:
其中对应代码的样式已经显示python语法,但实际的代码还是黑乎乎一片没有高亮:
那么就打开对应的样式表看看,这才发现了问题:
对应的样式表被禁用了,相当于对应的代码语法高亮没有执行。
先前不懂前端,查询原因后发现这也许是由优先级造成的:
优先级关系:内联样式 > ID 选择器 > 类选择器 = 属性选择器 = 伪类选择器 > 标签选择器 = 伪元素选择器
造成了样式被忽略;
优先级
样式
4、尝试解决
找到原因后,觉得这大概是网站方面的问题,但自己也尝试着解决一下,向父级标签看,发现在整个文档的父级有一个div标签:
和以前的不一样了,类变成了prism-atom-one-dark
这样的风格, 尝试吧这个删除后,代码恢复高亮:
再深入挖掘一下,发现可能是对应主题定义的问题:
这里应该是没有定义主题的颜色,同时覆盖了原来的hljs
样式,造成了代码不高亮,删除这句以后代码高亮恢复。