word-break属性用来规定自动换行的处理方式,它不仅可以让浏览器在半角空格或连字符的后面换行,也可以实现在任意位置换行,可选值有 normal
<http://www.waibo.wang/bible/css3/demo/3/word-break_normal.html> | keep-all
<http://www.waibo.wang/bible/css3/demo/3/word-break_keep-all.html> | break-all
<http://www.waibo.wang/bible/css3/demo/3/word-break_break-all.html>,默认值为 normal。

normal 表示根据语言自身的换行规则,确定换行方式,中文将容器边界处的汉字换到下一行,西方文字则将整个单词换到下一行;keep-all
表示不允许把单词截断,只能在半角空格或连字符处换行;break-all 允许把单词截断,在单词内换行。

为了演示不同取值的效果,就可以使用 word-wrap属性,定义两个不同的类。为了方便查看效果,为它们定义了固定宽度和边框。CSS代码如下:

* .keep-all {
* word-break: keep-all;
* }
* .break-all {
* word-break: break-all;
* }
* .keep-all, .break-all {
* width: 180px;
* height: 50px;
* border: 1px solid #444;
* font-size: 16px;
* display: inline-block;
* }
把上述两个不同的类,应用到特定的段落,就可以看到单词在容器的边界处自动换行的不同效果。HTML代码如下:

* <p class="keep-all">welcom to www.waibo-wang</p>
* <p class="break-word">welcom to www.waibo-wang</p>
上述代码的运行效果如图 3-26 所示:
图3-26 break-word属性运行效果

上图中,左侧容器的word-break属性取值为keep-all,其中的长单词waibo-wang在连字符处进行换行。右侧容器右侧容器的word-break属性取值为break-all,在长单词内部进行换行,单词被截断。

white-space、word-wrap、word-break的区别:

white-space: nowrap让一段文本不换行,在一行内显示。word-wrap: normal 使一个单词或URL不折行,在一行内显示。

word-wrap: break-word在容器边界自动换行,会把整个长单词看成一个整体放到下一行,而不会把单词截断。word-break:
break-all在行末宽度不够显示整个单词时,会把单词截断。

关于作者

歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通
HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典
<http://www.waibo.wang/bible/html5/>》、《揭秘CSS <http://www.waibo.wang/bible/css3/>
》、《Less简明教程 <http://www.waibo.wang/bible/less/>》、《JSON教程
<http://www.waibo.wang/bible/json/>》、《Bootstrap2用户指南
<http://www.waibo.wang/bible/bootstrap2/>》、《Bootstrap3实用教程
<http://www.waibo.wang/bible/bootstrap3/>》,并全部在 GitHub
<https://github.com/leiqikui> 上开源。

友情链接
ioDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信