在平時工作中,經(jīng)常碰到需要css設(shè)置換行,每次碰到都是一通百度,因為white-space、word-break和word-wrap這三個根本記不住,今天對這三個進(jìn)行總結(jié)。
本文根據(jù) https://baijiahao.baidu.com/s?id=1578623236521030997&wfr=spider&for=pc 這篇文章總結(jié)
結(jié)論
white-space:用來設(shè)置如何處理空白字符,即處理要不要換行。
word-break:斷詞規(guī)則,設(shè)置的是如果要換行的話,在什么位置換行。
white-sapce
首先,white-space是用來處理文本內(nèi)的空白符、換行符以及是否允許折行。用法如下:
| 值 | 描述 | 空白符 | 換行符 | 過長是否折行 |
|---|---|---|---|---|
| normal | 合并連續(xù)的空白符、換行符為一個空白符,折行 | 連續(xù)多個空白符合并成一個 | 換行符被當(dāng)作空白符處理,一同合并 | 折行 |
| pre | 完全保留文本中的格式,不折行 | 所有空白符保留 | 所有換行符保留 | 不折行 |
| nowrap | 合并連續(xù)的空白符、換行符為一個空白符,不折行 | 連續(xù)多個空白符合并成一個 | 換行符被當(dāng)作空白符處理,一同合并 | 不折行 |
| pre-wrap | 保留所有空白符、換行符,折行 | 所有空白符保留 | 所有換行符保留 | 折行 |
| pre-line | 空白符合并,換行符保留,折行 | 連續(xù)多個空白符合并成一個 | 所有換行符保留 | 折行 |
注意,white-space對中日韓統(tǒng)一表意文字(CJK Unified Ideographs)有效,也就是說,white-space可以用來設(shè)置中文的換行情況。英文的換行,由word-wrap和word-break設(shè)置。
word-wrap
word-wrap用來標(biāo)明是否允許瀏覽器在單詞內(nèi)進(jìn)行斷句,而word-break用來標(biāo)明怎樣進(jìn)行單詞內(nèi)斷句。
| 值 | 描述 |
|---|---|
| normal | 只在允許的斷字點換行(瀏覽器默認(rèn))。也就是說,單詞處換行,如果一個單詞超長,那么它會超出容器。 |
| break-word | 在長單詞或URL地址內(nèi)部換行。單詞超長的,首先嘗試將它挪到下一行,仍舊超長,則在下一行截斷單詞換行, |
word-break
word-wrap用來標(biāo)明是否允許瀏覽器在單詞內(nèi)進(jìn)行斷句,而word-break用來標(biāo)明怎樣進(jìn)行單詞內(nèi)斷句。
| 值 | 描述 |
|---|---|
| normal | 使用瀏覽器默認(rèn)的換行規(guī)則,也就是說只在單詞、連字符處換行,不截斷。在非CJK文本,即英文下,表現(xiàn)與keep-all一致,也與word-wrap設(shè)置為normal時一致 |
| break-all | 允許在單詞內(nèi)換行,與word-wrap的break-word相比,它不會嘗試將超長單詞挪到下一行,而是直接單詞內(nèi)截斷換行 |
| keep-all | 只能在半角空格或連字符處換行,在非CJK文本,即英文下,表現(xiàn)與normal一致,也與word-wrap設(shè)置為normal時一致 |