这三个在对于文本的换行与否和如何换行时,经常被使用,我们来仔细了解一下三个属性的内容。
white-space
顾名思义就是“空格”,其实这个属性就是对于空格和换行符的控制
white-space:normal
连续的空白符会被合并,换行符会被当作空白符来处理。填充line盒子时,必要的话会换行。
在这里的换行生效了,但是换行后的空格也被合并了,所以每一行都是直接显示在在文本最前面
white-space:nowrap
和 normal 一样,连续的空白符会被合并。但文本内的换行无效。
在这里的换行没有生效,换行后的空格也被合并了,所以每一行都是直接显示在在文本最前面(
依旧会导致换行)
white-space:pre
连续的空白符会被保留。在遇到换行符或者<br>
元素时才会换行。
`元素,或者需要为了填充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 浏览器版本支持这种新语法。