CSS换行中,white-space、word-wrap和word-break区别是什么?

在平时工作中,经常碰到需要css设置换行,每次碰到都是一通百度,因为white-space、word-break和word-wrap这三个根本记不住,今天对这三个进行总结。
本文根据 https://baijiahao.baidu.com/s?id=1578623236521030997&wfr=spider&for=pc 这篇文章总结

结论

white-space:用来设置如何处理空白字符,即处理要不要换行。
word-break:断词规则,设置的是如果要换行的话,在什么位置换行。

white-sapce

首先,white-space是用来处理文本内的空白符、换行符以及是否允许折行。用法如下:

描述 空白符 换行符 过长是否折行
normal 合并连续的空白符、换行符为一个空白符,折行 连续多个空白符合并成一个 换行符被当作空白符处理,一同合并 折行
pre 完全保留文本中的格式,不折行 所有空白符保留 所有换行符保留 不折行
nowrap 合并连续的空白符、换行符为一个空白符,不折行 连续多个空白符合并成一个 换行符被当作空白符处理,一同合并 不折行
pre-wrap 保留所有空白符、换行符,折行 所有空白符保留 所有换行符保留 折行
pre-line 空白符合并,换行符保留,折行 连续多个空白符合并成一个 所有换行符保留 折行

注意,white-space对中日韩统一表意文字(CJK Unified Ideographs)有效,也就是说,white-space可以用来设置中文的换行情况。英文的换行,由word-wrap和word-break设置。

word-wrap

word-wrap用来标明是否允许浏览器在单词内进行断句,而word-break用来标明怎样进行单词内断句。

描述
normal 只在允许的断字点换行(浏览器默认)。也就是说,单词处换行,如果一个单词超长,那么它会超出容器。
break-word 在长单词或URL地址内部换行。单词超长的,首先尝试将它挪到下一行,仍旧超长,则在下一行截断单词换行,
word-break

word-wrap用来标明是否允许浏览器在单词内进行断句,而word-break用来标明怎样进行单词内断句。

描述
normal 使用浏览器默认的换行规则,也就是说只在单词、连字符处换行,不截断。在非CJK文本,即英文下,表现与keep-all一致,也与word-wrap设置为normal时一致
break-all 允许在单词内换行,与word-wrap的break-word相比,它不会尝试将超长单词挪到下一行,而是直接单词内截断换行
keep-all 只能在半角空格或连字符处换行,在非CJK文本,即英文下,表现与normal一致,也与word-wrap设置为normal时一致

你可能感兴趣的:(CSS换行中,white-space、word-wrap和word-break区别是什么?)