关于文本空格换行处理
来源:互联网 发布:javascript菜鸟教程 编辑:程序博客网 时间:2024/05/22 09:50
处理空白符
white-space 属性会影响到用户代理对源文档中的空格、换行和 tab 字符的处理。
通过使用该属性,可以影响浏览器处理字之间和文本行之间的空白符的方式。从某种程度上讲,默认的 XHTML 处理已经完成了空白符处理:它会把所有空白符合并为一个空格。所以给定以下标记,它在 Web 浏览器中显示时,各个字之间只会显示一个空格,同时忽略元素中的换行:
<p>This paragraph has many spaces in it.</p>
可以用以下声明显式地设置这种默认行为:
p {white-space: normal;}
上面的规则告诉浏览器按照平常的做法去处理:丢掉多余的空白符。如果给定这个值,换行字符(回车)会转换为空格,一行中多个空格的序列也会转换为一个空格。
实例 TIY :white-space: normal
值 pre
不过,如果将 white-space 设置为 pre,受这个属性影响的元素中,空白符的处理就有所不同,其行为就像 XHTML 的 pre 元素一样;空白符不会被忽略。
如果 white-space 属性的值为 pre,浏览器将会注意额外的空格,甚至回车。在这个方面,而且仅在这个方面,任何元素都可以相当于一个 pre 元素。
实例 TIY :white-space: pre
注意:经测试,IE 7 以及更早版本的浏览器不支持该值,因此请使用非 IE 的浏览器来查看上面的实例。
值 nowrap
与之相对的值是 nowrap,它会防止元素中的文本换行,除非使用了一个 br 元素。在 CSS 中使用 nowrap 非常类似于 HTML 4 中用 <td nowrap> 将一个表单元格设置为不能换行,不过 white-space 值可以应用到任何元素。
实例 TIY :white-space: nowrap
值 pre-wrap 和 pre-line
CSS2.1 引入了值 pre-wrap 和 pre-line,这在以前版本的 CSS 中是没有的。这些值的作用是允许创作人员更好地控制空白符处理。
如果元素的 white-space 设置为 pre-wrap,那么该元素中的文本会保留空白符序列,但是文本行会正常地换行。如果设置为这个值,源文本中的行分隔符以及生成的行分隔符也会保留。pre-line 与 pre-wrap 相反,会像正常文本中一样合并空白符序列,但保留换行符。
实例 TIY :white-space: pre-wrap
实例 TIY :white-space: pre-line
注意:我们在 IE7 和 FireFox2.0 浏览器中测试了上面的两个实例,但是结果是,值 pre-wrap 和 pre-line 都没有得到很好的支持。
总结
下面的表格总结了 white-space 属性的行为:
- 关于文本空格换行处理
- 文本显示 -- 换行处理
- Canvas文本换行处理
- 处理空格文本节点
- 代码换行中间空格处理
- 01-替换输入文本的空格和换行(字符串处理)
- 替换文本中的空格和换行
- 替换文本中的空格和换行
- arcgis文本标注换行处理
- 关于文本换行缩进问题
- 处理textarea的空格和换行
- (django问题)处理换行和空格
- 关于Sqlserver的换行和空格
- android关于文本字符串进行URLEncoder.encode()编码后 空格 回车的处理
- c++ 中文 文本 删除多余换行 处理
- CSS强制文本不换行、溢出处理
- asp关于控件文本换行问题
- 关于文本处理
- 单向链表插入实现
- JAVA求解完美数
- 初体验友元函数
- javascript Function()
- 东软学习,关于div的几个知识点
- 关于文本空格换行处理
- 程序员们的时间管理法则
- OpenCV学习笔记——harris角点检测
- 循环链表解决约瑟夫环问题
- MyEclipse文件编码设置
- win7下将mySQL加入环境变量,使得在cmd命令行中运行mySQL。
- 卡特兰数
- tomcat安装:rpmdb: Program version 4.3 doesn't match environment version
- Linux中文件替换命令