页面文字折行,word-wrap和word-break的主要区别是什么?
发布于 作者:苏南大叔 来源:程序如此灵动~

页面排版类英文的字母排版问题,听起来很简单。但是如果真正弄明白,事情还并不简单。苏南大叔根据自己的理解对这个问题进行一下总结。本文是页面英文排版折行问题的系列文章的第一篇,主要描述css
里面的word-wrap
和word-break
的区别。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码感悟经验。本文测试环境:win10
,chrome@123.0.6312.105
。
效果默认
默认效果就是word-wrap:normal
和word-break:keep-all
。

word-wrap
属性
word-wrap
属性允许长单词或URL
地址换行到下一行。它的取值只有两个:
word-wrap 取值 | 作用 |
---|---|
normal | 默认,单词间空格换行 |
break-word | 单词内换行,长单词及长url折行,另起一行 |

word-break
属性
word-break
属性取值,除了默认的normal
外,还有两个取值:keep-all
和break-all
。主要控制是否对单词进行折行。
word-break 取值 | 作用 |
---|---|
normal | 默认 |
keep-all | 单词不折行,效果同默认 |
break-word | 单词折行,不另起一行 |

再次对比

两者同时使用的话,效果就是word-break:break-all
的效果,貌似word-wrap:word-break
的效果就消失了。

异同点总结
通过上面的例子可以看到,重点就是:word-break:break-all
与word-wrap:break-word
。
- 两者共同点是都能把长单词强行断句。
- 不同点是
word-wrap:break-word
会首先起一个新行来放置长单词,新的行还是放不下这个长单词则会对长单词进行强制断句;而word-break:break-all
则不会把长单词放在一个新行里,当这一行放不下的时候就直接强制断句了。
结束语
目前的结论就是:面对英文字母排版的情况,使用word-break:break-all
即可。更多css
相关精彩文章,请点击:


