css white-space属性详解

html-css020

css white-space属性详解,第1张

css white-space这个css样式,用来设置element元素对内容中的空格的处理方式,有着几个可选值:normal,

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的区别就在于他们对于一些符号上的支持和规范。