WordPress中百度編輯器ueditor前臺(tái)代碼語(yǔ)言無(wú)法自動(dòng)換行解決辦法

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

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

WordPress中百度編輯器ueditor前臺(tái)代碼語(yǔ)言無(wú)法自動(dòng)換行解決辦法

由于編輯器使用的是百度編輯器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;

然后清理瀏覽器緩存,再訪問(wèn)查看效果:

WordPress中百度編輯器ueditor前臺(tái)代碼語(yǔ)言無(wú)法自動(dòng)換行解決辦法

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

語(yǔ)法:

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

參數(shù):

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

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

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

說(shuō)明:

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

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

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

WordPress中百度編輯器ueditor前臺(tái)代碼語(yǔ)言無(wú)法自動(dòng)換行解決辦法

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

WordPress中百度編輯器ueditor前臺(tái)代碼語(yǔ)言無(wú)法自動(dòng)換行解決辦法

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

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

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

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

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

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

WordPress中百度編輯器ueditor前臺(tái)代碼語(yǔ)言無(wú)法自動(dòng)換行解決辦法

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

發(fā)表評(píng)論

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