# CSS 伪元素 (Pseudo-elements) **CSS 伪元素用于向某些选择器设置特殊效果。** ## 语法 伪元素的语法: ``` selector:pseudo-element {property:value;} ``` CSS 类也可以与伪元素配合使用: ``` selector.class:pseudo-element {property:value;} ``` ## :first-line 伪元素 "first-line" 伪元素用于向文本的首行设置特殊样式。 在下面的例子中,浏览器会根据 "first-line" 伪元素中的样式对 p 元素的第一行文本进行格式化: ### 实例 ``` p:first-line { color:#ff0000; font-variant:small-caps; } ``` 注释:"first-line" 伪元素只能用于块级元素。 注释:下面的属性可应用于 "first-line" 伪元素: * font * color * background * word-spacing * letter-spacing * text-decoration * vertical-align * text-transform * line-height * clear ## :first-letter 伪元素 "first-letter" 伪元素用于向文本的首字母设置特殊样式: ``` p:first-letter { color:#ff0000; font-size:xx-large; } ``` 注释:"first-letter" 伪元素只能用于块级元素。 注释:下面的属性可应用于 "first-letter" 伪元素: * font * color * background * margin * padding * border * text-decoration * vertical-align (仅当 float 为 none 时) * text-transform * line-height * float * clear ## 伪元素和 CSS 类 伪元素可以与 CSS 类配合使用: ``` p.article:first-letter { color: #FF0000; } <p class="article">This is a paragraph in an article。</p> ``` 上面的例子会使所有 class 为 article 的段落的首字母变为红色。 ## 多重伪元素 可以结合多个伪元素来使用。 在下面的例子中,段落的第一个字母将显示为红色,其字体大小为 xx-large。第一行中的其余文本将为蓝色,并以小型大写字母显示。段落中的其余文本将以默认字体大小和颜色来显示: ``` p:first-letter { color:#ff0000; font-size:xx-large; } p:first-line { color:#0000ff; font-variant:small-caps; } ``` ## CSS2 - :before 伪元素 ":before" 伪元素可以在元素的内容前面插入新内容。 下面的例子在每个 &lt;h1&gt; 元素前面插入一幅图片: ``` h1:before { content:url(logo.gif); } ``` ## CSS2 - :after 伪元素 ":after" 伪元素可以在元素的内容之后插入新内容。 下面的例子在每个 &lt;h1&gt; 元素后面插入一幅图片: ``` h1:after { content:url(logo.gif); } ``` ## 伪元素 _W3C_:"W3C" 列指示出该属性在哪个 CSS 版本中定义(CSS1 还是 CSS2)。 | 属性 | 描述 | CSS | | --- | --- | --- | | [:first-letter](/cssref/pr_pseudo_first-letter.asp) | 向文本的第一个字母添加特殊样式。 | 1 | | [:first-line](/cssref/pr_pseudo_first-line.asp) | 向文本的首行添加特殊样式。 | 1 | | [:before](/cssref/pr_pseudo_before.asp) | 在元素之前添加内容。 | 2 | | [:after](/cssref/pr_pseudo_after.asp) | 在元素之后添加内容。 | 2 |