word-wrap word-break 和 white-space

这三个在对于文本的换行与否和如何换行时,经常被使用,我们来仔细了解一下三个属性的内容。

white-space

顾名思义就是“空格”,其实这个属性就是对于空格和换行符的控制

white-space:normal

连续的空白符会被合并,换行符会被当作空白符来处理。填充line盒子时,必要的话会换行。

在这里的换行生效了,但是换行后的空格也被合并了,所以每一行都是直接显示在在文本最前面

white-space:nowrap

和 normal 一样,连续的空白符会被合并。但文本内的换行无效。

在这里的换行没有生效,换行后的空格也被合并了,所以每一行都是直接显示在在文本最前面(
依旧会导致换行)

white-space:pre

连续的空白符会被保留。在遇到换行符或者<br>元素时才会换行。

换行生效了,且空格没有合并 #### white-space:pre-wrap 连续的空白符会被保留。在遇到换行符或者`
`元素,或者需要为了填充line盒子时才会换行。

white-space:pre-line

连续的空白符会被合并。在遇到换行符或者<br>元素,或者需要为了填充line盒子时会换行。

换行符 空格和制表符 文字转行
normal 合并 合并 转行
nowrap 合并 合并 不转行
pre 保留 保留 不转行
pre-wrap 保留 保留 转行
pre-line 保留 合并 转行

word-wrap word-break

首先我在MDN上并没有找到word-wrap,原来word-wrap属性原本属于微软的一个私有属性,在 CSS3 现在的文本规范草案中已经被重名为 overflow-wrap 。 word-wrap 现在被当作 overflow-wrap 的 “别名”。 稳定的谷歌 Chrome 和 Opera 浏览器版本支持这种新语法。