文本換行規(guī)則中涉及的屬性有word-wrap 摇锋、word-break 、white-space。
mozilla開發(fā)者網(wǎng)站上對上述屬性都有著比較詳細(xì)的描述健霹,這里準(zhǔn)備對上述屬性對換行規(guī)則的影響進(jìn)行進(jìn)一步的總結(jié)。
在文字換行規(guī)則中瓶蚂,不同語言中的字符處理規(guī)則存在差異糖埋。
在默認(rèn)情況下,即word-wrap: normal
, word-break: normal
, white-space: normal
時(shí)窃这,CJK(中文瞳别、日文、韓文)文本可以在任意2個(gè)字符間斷行杭攻,而非CJK文本(如英文等)只能在空白符處斷行祟敛。
word-break
如果我們想要CJK文本表現(xiàn)的和非CJK文本一樣或者想要非CJK文本表現(xiàn)和CJK文本一樣要怎么辦呢?word-break
屬性就是來處理這種情況兆解。默認(rèn)情況下word-break: normal
馆铁,CJK文本和非CJK應(yīng)用自己的默認(rèn)換行規(guī)則。設(shè)置為word-break: break-all
后锅睛,非CJK文本會應(yīng)用CJK文本的換行規(guī)則埠巨,可以在任意位置斷行历谍。而設(shè)置word-break: keep-all
后,CJK文本會應(yīng)用非CJK文本的換行規(guī)則辣垒,只能在空白處斷行望侈。
word-wrap
word-wrap
屬性用來處理這樣的情景:一個(gè)不可分割的字符串過長,超過容器盒的寬時(shí)應(yīng)該如何處理勋桶?在默認(rèn)情況下(word-wrap: normal
)脱衙,字符串超出了容器盒的寬,不會斷行例驹。當(dāng)設(shè)為word-wrap: break-word
時(shí)岂丘,過長的字符串會發(fā)生斷行。
white-space
white-space
屬性是用來設(shè)置針對空白符的處理規(guī)則。其中white-space: nowrap
會使文本中換行無效仪召。這一規(guī)則優(yōu)先于上面提到的規(guī)則寨蹋。所以在white-space: nowrap
時(shí),無論是設(shè)置了word-break: break-all
還是設(shè)置了word-wrap: break-word
扔茅,文本都不會換行已旧。