确切的区别如下:(基于Chrome v81的测试,并通过参考规格确认了我的观察)
空格
normal
(默认):折叠空白链和换行符;在需要的地方添加换行符
nowrap
:折叠空白链和换行符;不添加换行符
pre-line
:折叠空白链;在需要的地方添加换行符
pre-wrap
:不崩溃;在需要的地方添加换行符
break-spaces
:与预包装相同,但空格能够触发换行符添加
pre
:不崩溃;不添加换行符
注意:如果所选white-space
值列出“不添加换行符”,则以下属性的换行行为将无法应用(即,被忽略)。
断字
normal
(默认值):在容器内最后一个单词拟合的末尾处断行[如果存在],否则行不间断
break-word
:在容器内最后一个单词拟合的末尾处断行[如果一个存在],否则在容器末尾
break-all
:在容器末端[即使附近有空格也可以拆分一个字]
溢出包装(旧名称:自动换行)
normal
(默认值):在容器内最后一个单词拟合的末尾处断行[如果存在],否则行不间断
break-word
:在容器内最后一个单词拟合的末尾处断行[如果存在],否则在容器末尾处断行[如果不存在] -flex容器],否则行保持不中断
anywhere
:在容器内最后一个单词拟合的末尾处断行(如果存在),在容器末尾处断行(与word-break: break-word
]相同)
请注意,对于overflow-wrap: break-word
(对于任何使行对于容器来说太长的组合),不间断的行会导致伸缩容器超出指定的伸缩率(迫使其他伸缩容器收缩以解决内容太长)。
overflow-wrap
和word-wrap
应该在功能100%相同。就个人而言,我得到的印象是word-wrap
仅应用于旧版浏览器支持,并且在以后的CSS版本中可能不推荐使用或删除它。