揭秘CSS(第 1 版)
3.2.14 单词换行
阅读(

概述

CSS选择器

字体和文本

字体

文本

单词折行

处理空白符

文本方向

文本阴影

文本装饰

文本转换

单词间距

字符间距

垂直对齐

行高

水平对齐

水平对齐

文本缩进

单词换行

word-break属性用来规定自动换行的处理方式,它不仅可以让浏览器在半角空格或连字符的后面换行,也可以实现在任意位置换行,可选值有 normal | keep-all | break-all,默认值为 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 所示:

break-word属性运行效果
图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宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》、《Bootstrap3实用教程》,并全部在 GitHub 上开源。

如果本教程对您帮助很大,请随意打赏。您的支持,将鼓励我写出更好的教程!

← 键盘方向键翻页 →
返回顶部 手机访问 关注微信 返回底部

扫码访问歪脖网

随时随地,想看就看

关注歪脖网微信

分享 web 知识、交流 web 经验