WordPress中百度編輯器ueditor前臺代碼語言無法自動換行解決辦法

2020年9月23日14:44:38 發(fā)表評論 3,792 ℃

最近在博客發(fā)布一些需要插入代碼語言的文章,發(fā)現(xiàn)在手機(jī)端訪問,盡然顯示不全,不能根據(jù)手機(jī)分辨率自動適配,訪問體驗(yàn)極差,如下圖:

WordPress中百度編輯器ueditor前臺代碼語言無法自動換行解決辦法

由于編輯器使用的是百度編輯器ueditor,網(wǎng)上隨便一搜便找到了解決方案。

找到wp-content/plugins/ueditor/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css文件,然后找到:

.syntaxhighlighter {
    width: 100%!important;
    margin: .3em 0 .3em 0!important;
    position: relative!important;
    overflow: auto!important;
    background-color: #f5f5f5!important;
    border: 1px solid #ccc!important;
    border-radius: 4px!important;
    border-collapse: separate!important;
}

添加一行word-break:break-all;

.syntaxhighlighter {
    width: 100%!important;
    margin: .3em 0 .3em 0!important;
    position: relative!important;
    overflow: auto!important;
    background-color: #f5f5f5!important;
    border: 1px solid #ccc!important;
    border-radius: 4px!important;
    border-collapse: separate!important;
    word-break:break-all;
}

由于此shCoreDefault.css文件刪除了空格和換行,所以可讀性非常差,可以搜索.syntaxhighlighter{  然后添加word-break:break-all;

然后清理瀏覽器緩存,再訪問查看效果:

WordPress中百度編輯器ueditor前臺代碼語言無法自動換行解決辦法

網(wǎng)上也找到了word-break 參數(shù)說明:

語法:

word-break : normal | break-all | keep-all

參數(shù):

normal :  依照亞洲語言和非亞洲語言的文本規(guī)則,允許在字內(nèi)換行

break-all :  該行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內(nèi)斷開。該值適合包含一些非亞洲文本的亞洲文本

keep-all :  與所有非亞洲語言的normal相同。對于中文,韓文,日文,不允許字?jǐn)嚅_。適合包含少量亞洲文本的非亞洲文本

說明:

設(shè)置或檢索對象內(nèi)文本的字內(nèi)換行行為。尤其在出現(xiàn)多種語言時。

對于中文,應(yīng)該使用break-all 。

本以為問題得到了徹底解決,但在電腦端訪問此文章http://www.maowutv.com/atang_3727.html,發(fā)現(xiàn)依然存在不會自動換行的情況,如下圖:

WordPress中百度編輯器ueditor前臺代碼語言無法自動換行解決辦法

一開始以為緩存原因,清理緩存,更換了瀏覽器測試還是存在問題。只要通過chrome 瀏覽器F12開發(fā)者模式,去查看css樣式情況,在一個個樣式排查下來,找到了罪魁禍?zhǔn)住?/p>

WordPress中百度編輯器ueditor前臺代碼語言無法自動換行解決辦法

white-space:nowrap到底什么作用,網(wǎng)上查了查資料:

white-space:normal; 默認(rèn)。依照亞洲語言和非亞洲語言的文本規(guī)則,允許在字內(nèi)換行

white-space:pre-wrap; 只對中文起作用,強(qiáng)制換行

white-space:nowrap;  強(qiáng)制不換行,中文因?yàn)槎计鹱饔?/p>

white-space:nowrap; overflow:hidden; text-overflow:ellipsis;不換行,超出部分隱藏且以省略號形式出現(xiàn)

于是找到此style.css文件,搜索找到white-space: nowrap; 更改為 white-space: normal;保存以后清理瀏覽器緩存,再次訪問查看效果,發(fā)現(xiàn)已經(jīng)自動換行。

WordPress中百度編輯器ueditor前臺代碼語言無法自動換行解決辦法

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: