CSS中有关文字设置的一些用法
在进行DivCSS布局时,需要对文本进行控制,今天系统的向大家介绍一下。CSS中控制换行的四种属性。
一、white-space
可以实现HTML中PRE标签的效果,以及单元格的noWrap效果。
语法:
white-space:normal|pre|nowrap
取值:
normal:默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行
pre:换行和其他空白字符都将受到保护。这个值需要IE6+或者!DOCTYPE声明为standards-compliantmode支持。如果!DOCTYPE声明没有指定为standards-compliantmode,此属性可以使用,但是不会发生作用。结果等同于normal。参阅pre对象
nowrap:强制在同一行内显示所有文本,直到文本结束或者遭遇br对象。参阅noWrap属性
说明:
设置或检索对象内空格字符的处理方式。
空格字符,像换行,空格,TAB,在HTML文档中默认的是被忽略的。当此属性设置为normal或者nowrap时,你可以使用不换行空格的命名实体来添加空格,用br元素来添加换行。此属性对你使用文档对象模型(DOM)操作的内容的影响与其对IE显示内容的影响一样。
此属性作用于块对象。
相关样式:
text-overflow
将它与white-space结合使用就不用再写程序来判断字符串长度了,点此查看示例。
语法:
text-overflow:clip|ellipsis
取值:
clip:默认值。不显示省略标记(…),而是简单的裁切
ellipsis:当对象内文本溢出时显示省略标记(…)
说明:
设置或检索是否使用一个省略标记(…)标示对象内文本的溢出。
这个属性仅仅作用于水平内联方向的,普通的西方文本的溢出。内联溢出发生在行内的文本超出可用宽度却没有换行机会的时候。
要强制溢出发生并且应用ellipsis值,作者必须设置对象的white-space属性值为nowrap。
假如没有换行机会(例如,对象容器的宽度是狭窄的,而内有很长的没有合理断行的文本),没有应用nowrap也有可能溢出。
为了使ellipsis值被应用,此属性必须被设置到具有不可视区域的对象。最好的选择是设置overflow属性为hidden。设置overflow属性为scroll或者auto时,此属性也会应用。但是会有滚动条出现。
通过选择省略标记,隐藏的文本可以被选择。当选择发生时,省略标记会隐藏而被文本替换。
此属性为在DHTML中制作省略标记提供了高效的方法。
二、word-break
最常用的控制换行属性,常与下面的word-wrap结合使用。
语法:
word-break:normal|break-all|keep-all
取值:
normal:默认值。允许在词间换行
break-all:该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all:与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本
说明:
设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。
对于中文,应该使用break-all。
三、word-wrap
如果你设计的网页不是自适应宽度的话,需要将它设置为break-word,否则可能出现版快错开的情况。
语法:
word-wrap:normal|break-word
取值:
normal:默认值。允许内容顶开指定的容器边界
break-word:内容将在边界内换行。如果需要,词内换行(word-break)也将发生
说明:
设置或检索当当前行超过指定容器的边界时是否断开转行。
此属性仅作用于有布局的对象,如块对象。内联要素要使用该属性,必须先设定对象的height或width属性,或者设定position属性为absolute,或者设定display属性为block。
四、overflow,overflow-x,overflow-y
这个不是严格意思上的控制换行样式,但在某些时候将它设置为hidden可以补充word-wrap的不足,比方你想在限制宽度里仅显示一行文字,而这行文字的长度却超过这个宽度,结合white-space+text-overflow可以达到更好的效果。
语法:
overflow:visible|auto|hidden|scroll
取值:
visible:默认值。不剪切内容也不添加滚动条。假如显式声明此默认值,对象将以包含对象的window或frame的尺寸裁切。并且clip属性设置将失效
auto:在必需时对象内容才会被裁切或显示滚动条
hidden:不显示超过对象尺寸的内容
scroll:总是显示滚动条
说明:
检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。
所有对象的默认值是visible,除了textarea对象和body对象的默认值是auto。设置textarea对象此属性值为hidden将隐藏其滚动条。
对于table来说,假如table-layout属性设置为fixed,则td对象支持带有默认值为hidden的overflow属性。如果设为scroll或者auto,那么超出td尺寸的内容将被剪切。如果设为visible,将导致额外的文本溢出到右边或左边(视direction属性设置而定)的单元格。
自IE5开始,此属性在MAC平台上可用。
自IE6开始,当你使用!DOCTYPE声明指定了standards-compliant模式,此属性可以应用于html对象。