nowrap,
pre,
pre-wrap,
pre-line
没有设置white-space属性,则默认为white-space:normal。normal表示合并空格,多个相邻空格合并成一个空格,在源码中的换行作为空格处理,只会根据容器的大小进行自动换行。
white-space:nowrap和normal一样,也合并空格,但是不会根据容器大小换行,表示不换行。
效果如下:这个效果在页面布局中使用很频繁,尤其在移动端布局中。
white-space:nowrap会导致文本不换行,经常和overflow,text-overflow一起使用,如下:
效果如下:
white-space:pre的作用是保持源码中的空格,有几个空格算几个空格显示,同时换行只认源码中的换行和
标签。
white-space:pre-wrap的作用是保留空格,并且除了碰到源码中的换行和
会换行外,还会自适应容器的边界进行换行。
效果如下:
white-space:pre-wrap和white-space:pre的区别就是会自适应容器的边界进行换行。
white-space兼容性
楼主可能是在IE下测试的,在IE中不加文档类型声明(!DOCTYPE)是无法正常解析的。建议加上适当的文档类型声明,如:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
pre-wrap表示:保留空白符序列,但是正常地进行换行。pre 文档里明确写了 类似<pre>标签。 所以要先弄明白<pre>标签特点:<pre>元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体,<pre>标签来显示非常规的格式化内容,或者某类计算机代码所以pre和pre-wrap的区别就在于他们对于一些符号上的支持和规范。