1. 程式人生 > 程式設計 >防止SyntaxHighlighter.js的程式碼高亮時閃一下的解決方法

防止SyntaxHighlighter.js的程式碼高亮時閃一下的解決方法

SyntaxHighlighter.js是一個程式碼高亮的JS外掛,使用也很簡單,但是由於是瀏覽器段執行JS程式碼來著色,會出現視覺上閃一下的效果。比如你的20行程式碼網頁開啟顯示高度為100px,但是SyntaxHighlighter高亮後該區域高度變為120px 加上顏色的變化,這樣的體驗特別不好。

解決原理:把pre標籤的樣式定義為 高亮後的樣式即可

解決方法:在shCoreDefault.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 .3em 0!important;
   padding:0 0 0 1em!important;
   font-size:13px !important;
   font-family:Monaco,Menlo,Consolas,"Courier New",monospace;
}

即可這樣就不會出現大面積的閃爍了,然後按F5強制重新整理瀏覽器快取,檢視效果,如果還是有細微差距,可以自己微調SyntaxHighlighter 的 CSS樣式。