目录
以下各小节定义的属性将影响字符、空白、词以及段落的视觉呈现。
值: | <length> | <percentage> | inherit |
初始值: | 0 |
适用于: | 块级元素 |
可否继承: | 可 |
百分比: | 相对于包含块的宽度 |
媒介: | 视觉 |
该属性指定了一个块中文本第一行的缩进。更精确的说,指定了流入块的第一个线框的第一个框的缩进。该框从线框的左边开始缩进(对于从右到左的布局是从右缩进)。用户端应该将该缩进渲染为空白。
 值的含义如下:
'text-indent'的值可以是负数,但是也许会有因实现不同的限制。
下面的例子将造成'3em'的文本缩进。
P { text-indent: 3em }
值: | left | right | center | justify | <string> | inherit |
初始值: | 取决于用户端及书写方向 |
适用于: | 块级元素 |
可否继承: | 可 |
百分比: | N/A |
媒介: | 视觉 |
该属性描述了在一个块内行间内容的对齐方式。取值的含义如下:
一个文字块是一系列的线框。取值为'left'/'right'/'center'时,该属性规定了每个线框内的行间框相对线框的左边、右边的对齐;对齐并不是针对视点的。取值为'justify'时,用户端在调整位置的时候,也还可能拉伸行间框。(参见'letter-spacing'和'word-spacing'.)
本例中需要注意,由于'text-align'是可继承的,所有在带有'class=center'修饰的DIV元素里的块级元素都会将他们的行内文本居中对齐。
DIV.center { text-align: center }
注意:实际采用的对齐算法取决于用户端以及书写的语言。
与CSS2一致的用户端可能将'justify'理解为'left'或'right',取决于该元素的缺省书写方向是左到右还是右到左。
值: | none | [ underline || overline || line-through || blink ] | inherit |
初始值: | 无 |
适用于: | 所有元素 |
可否继承: | 否(见后文) |
百分比: | N/A |
媒介: | 视觉 |
该属性描述了加在某元素文本上的装饰。如果属性指定给一个块级元素,它会影响该元素的所有行间级后代。如果它指定给(或影响)一个行间元素,它会影响该元素产生的所有框。如果该元素没有内容或没有文本内容(例如HTML中的IMG元素),用户端必须忽略该属性。
取值的含义如下:
文本修饰要求的颜色应该从'color'属性值中派生。
该属性不可被继承,但是一个块框的派生框应该具有相同的装饰格式(比如,都应该有下划线)。装饰的颜色应该保持一致,即使派生的元素设定了不同的'color'值。
下例的HTML中,作为超连接的A元素的所有文本内容都将有下划线:
A[href] { text-decoration: underline }
改属性接受一个逗号分割的阴影效果列表,并应用到该元素的文本上。阴影效果按照给定的顺序应用,因此有可能出现互相覆盖,但是它们永不会覆盖文本本身。阴影效果不会改变框的尺寸,但可能延伸到它的边界之外。阴影效果的堆叠层次和元素本身的层次是一样的。
每个阴影效果必须指定阴影偏移,而模糊半径、阴影颜色是可选参数。
阴影偏移由两个<length>值指定到文本的距离。第一个长度值指定距离文本右边的水平距离,负值将会把阴影放置在文本的左边。第二个长度值指定距离文本下边的垂直距离,负值将会把阴影放置在文本上方。
在阴影偏移之后,可以指定一个模糊半径。模糊半径是个长度值,指出模糊效果的范围。如何计算模糊效果的具体算法并没有指定。
在阴影效果的长度值之前或之后还可以选择指定一个颜色值。颜色值会被用作阴影效果的基础。如果没有指定颜色,那么将使用'color'属性值来替代。
文本阴影可以使用在:first-letter和:first-line伪元素上。
下面的例子将在元素文本的右边、下边设置文本阴影。由于并未指定颜色,阴影将和元素本身的颜色相同。由于也没有指定模糊半径,文本阴影将不会模糊:
H1 { text-shadow: 0.2em 0.2em }
下例中将在元素文本的右下方放置阴影。阴影的模糊半径是5px,颜色是红的。
H2 { text-shadow: 3px 3px 5px red }
下面的例子指定了一个阴影效果的列表。第一个阴影将放置在元素文本的右下方,红色,无模糊。第二个将覆盖第一个阴影,黄色,模糊,文本的左下方。第三个将放置在文本的右上方,无模糊。由于第三个阴影没有指定颜色,因此元素的'color'属性值将被使用:
H2 { text-shadow: 3px 3px red, yellow -3px 3px 2px, 3px -3px }
考虑这个例子:
SPAN.glow { background: white; color: white; text-shadow: black 0px 0px 5px; }
在这里,'background'和'color'属性取值是一样的,而'text-shadow'属性用来创建一种“日蚀”效果:
注意:该属性在CSS1中未定义。某些阴影效果(例如最后的示例)在只支持CSS1的UA中会将文本渲染成看不见。
值: | normal | <length> | inherit |
初始值: | normal |
适用于: | 所有元素 |
可否继承: | 可 |
百分比: | N/A |
媒介: | 视觉 |
该属性指定了文本字符间的间距特性。取值的含义如下:
字符间距的算法与用户端相关。字符间距还可能受到对齐(参见'text-align'属性)的影响。
本例中,BLOCKQUOTE元素中的字符间距增加了'0.1em':
BLOCKQUOTE { letter-spacing: 0.1em }
下例中,将不允许用户端变更字符间距:
BLOCKQUOTE { letter-spacing: 0cm } /* Same as '0' */
如果两个字符间经合成的间距和缺省的间距不同,用户端不应该使用补救措施。
与CSS2一致的用户端可能会将'letter-spacing'属性的值理解为'normal'。
值: | normal | <length> | inherit |
初始值: | normal |
适用于: | 所有元素 |
可否继承: | 可 |
百分比: | N/A |
媒介: | 视觉 |
该属性指定了单词之间的间距特性。取值含义如下:
词间距的算法与用户端相关。词间距还可能受到对齐(参见'text-align'属性)的影响。
本例中,H1元素中的每个单词的词间距将增加'1em':
H1 { word-spacing: 1em }
与CSS2一致的用户端可能将'word-spacing'属性的值理解为'normal'。
值: | capitalize | uppercase | lowercase | none | inherit |
初始值: | 无 |
适用于: | 所有元素 |
可否继承: | 可 |
百分比: | N/A |
媒介: | 视觉 |
该属性控制某元素文本的大小写效果。取值的含义如下:
每个情况下实际的转换取决于书写语言本身。参见RFC 2070([RFC2070])中关于找到元素语言方法的讨论。
对于不是来自Latin-1字符集中的字符,以及元素的语言的转换不同于ISO 10646([ISO10646])中给出的大小写转换表的话,与CSS2一致的用户端可能将'text-transform'的值认为是'none'。
本例中,H1元素中所有的文本都将转换为大写文本:
H1 { text-transform: uppercase }
值: | normal | pre | nowrap | inherit |
初始值: | normal |
适用于: | 块级元素 |
可否继承: | 可 |
百分比: | N/A |
媒介: | 视觉 |
该属性声明了元素内的空白是如何处理的。取值的含义如下:
下面的例子中显示了对于PRE和P元素,我们所期待的空白的行为应该如何,以及HTML中的"nowrap"属性。
PRE { white-space: pre } P { white-space: normal } TD[nowrap] { white-space: nowrap }
与CSS2一致的用户端可能忽略作者和用户样式表中的'white-space'属性,但是必须在缺省样式表中为它指定一个值。