防止SyntaxHighlighter.js的代码高亮时闪一下的解决方
关于SyntaxHighlighter.js代码高亮闪烁问题的解决之道
你是否在使用SyntaxHighlighter.js这一代码高亮插件时,遇到过页面在加载时出现的短暂闪烁问题?这是一个相当常见的现象,主要是由于浏览器端执行JS代码进行着色时,页面元素样式的临时变化所引起的。
当你的网页中包含的代码通过SyntaxHighlighter进行高亮处理时,你可能会注意到,原本占据一定空间的区域(比如一个高度为100px的pre标签区域包含20行代码),在高亮处理后,其高度可能会变为120px,同时还会伴随颜色的变化。这种视觉上的突然变化,往往会给用户带来不好的体验。
解决这一问题的方法其实相对简单。我们可以通过预先定义pre标签的样式,使其在高亮处理前后的样式保持一致,从而避免闪烁现象的发生。具体来说,你可以在shCoreDefault.css文件中添加如下样式代码:
pre标签样式定义如下:
```css
pre {
line-height: 22px !important; / 定义行高 /
background-color: f5f5f5 !important; / 定义背景色 /
border: 1px solid ccc !important; / 定义边框样式 /
border-radius: 4px !important; / 定义边框圆角 /
width: 98% !important; / 定义宽度 /
margin: .3em 0 !important; / 定义外边距 /
padding: 0 0 0 1em !important; / 定义内边距 /
font-size: 13px !important; / 定义字体大小 /
font-family: Monaco, Menlo, Consolas, "Courier New", monospace; / 定义字体 /
}
```
通过以上样式的设定,可以有效减少甚至避免高亮处理时可能出现的闪烁现象。在设定完成后,你可以尝试清除浏览器缓存并重新加载页面,查看效果。如果仍有细微的差距,你可以根据自己的需求微调SyntaxHighlighter的CSS样式。这样,你的网页代码高亮展示将更为流畅,用户体验也会得到显著提升。
编程语言
- 防止SyntaxHighlighter.js的代码高亮时闪一下的解决方
- JS公共小方法之判断对象是否为domElement的实例
- 一个验证用户名的正则表达式
- 详解.vue文件中监听input输入事件(oninput)
- IE里button设置border-none属性无效解决方法
- 解决ueditor jquery javascript 取值问题
- php使用ZipArchive提示Fatal error- Class ZipArchive not fo
- mysql学习笔记之帮助文档
- thinkphp3.0输出重复两次的解决方法
- vue router 跳转后回到顶部的实例
- Angular使用$http.jsonp发送跨站请求的方法
- 使用JQuery在线制作ppt并在线演示源码特效
- 不想让浏览器运行javascript脚本的方法
- JavaScript实现点击按钮字体放大、缩小
- 无法将函数定义与现有的声明匹配 问题的解决办
- 简单几步实现返回顶部效果