文本換行的問題沒關係, 但遇到真要命。多種換行隨緣嘗試每每是大多人的解決方案。html
因此今天就來整理一下常見的文本換行。同時瞭解一下每種換行的應用場景web
咱們拿三種常見的文本換行舉例(word-wrap、word-break、white-space)測試
首先咱們整理出對應的參數表,方便查看。(不整理兼容性很差的屬性,只列舉經常使用屬性)spa
值 | 描述 |
---|---|
normal | 單詞結束處正常換行 |
break-word | 行內沒有多餘的位置容納該單詞到結尾時, 單詞會被分割換行。 |
值 | 描述 |
---|---|
normal | 使用默認換行規則 |
break-all | 對於non-CJK (CJK 指中文/日文/韓文) 文本,可在任意字符間斷行。 |
keep-all | CJK 文本不斷行。 Non-CJK 文本表現同 normal。 |
**CJK文本:**中日韓統一表意文字(CJK Unified Ideographs)。CJK 是中文(Chinese)、日文(Japanese)、韓文(Korean)三國文字的縮寫。顧名思義,它可以支持這三種文字。(摘自百度百科)3d
值 | 描述 |
---|---|
normal | 連續的空白符會被合併,換行符會被看成空白符來處理。填充line盒子時,必要的話會換行。 |
nowrap | 和 normal 同樣,連續的空白符會被合併。但文本內的換行無效。 |
pre | 連續的空白符會被保留。在遇到換行符或者<br> 元素時纔會換行。 |
pre-wrap | 連續的空白符會被保留。在遇到換行符或者<br> 元素,或者須要爲了填充line盒子時纔會換行。 |
pre-line | 連續的空白符會被合併。在遇到換行符或者<br> 元素,或者須要爲了填充line盒子時會換行。 |
以上內容摘自MDN web docscode
爲了方便理解,我按照使用四種文字類型進行測試, 分別是 ①不含有空白符(空格\水平製表符)的中文(cjk文字)orm
<pre>這是一段中文測試文字這段文字不包含空白符水平製表符是一段很長很長很長很長的文字</pre>
複製代碼
①含有空白符(空格\水平製表符)的中文(cjk文字)cdn
<pre>這是一段中文測試文字這段文字 包含空白符水平製表符 而且還有多個空白符 是一段很長很長很長很長的文字</pre>
複製代碼
③含有空白符的英文長句(非cjk文字)htm
<pre>Hi! My name is Tinker. I'm glod to met you. So let's us to do something. Is ok?</pre>
複製代碼
④不含空白符的長句(非cj文字)blog
<pre>
Hi!MynameisTinker.I'mglodtometyou.Solet'sustodosomething.Isok?
</pre>
複製代碼
準備就緒!那麼讓咱們開始吧~
normal:
break-word:
normal
break-all
keep-all
上訴例子可能不明瞭:看這個
代碼:
表現:
normal
norwrap
pre-wrap
pre
pre-line