确切的区别如下:(基于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版本中可能不推荐使用或删除它。