防止SyntaxHighlighter.js的程式碼高亮時閃一下的解決方法
阿新 • • 發佈:2020-03-16
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樣式。