CSS 伪元素 (Pseudo-elements)

CSS 伪元素用于将特殊的效果添加到某些选择器。

CSS 伪元素 (Pseudo-elements)实例:

制作首字母特效
本例演示如何向文本的首字母添加特效。
制作首行特效
本例演示如何向文本的首行添加特效。

语法:

伪元素的语法:

选择器 : 伪元素 { 属性: 值 }

CSS 类也可以与伪元素配合使用:

选择器 . 类: 伪元素 { 属性: 值 }

:first-line 伪元素

"first-line" 伪元素用于向某个选择器中的文字的首行添加特殊样式:

p {font-size: 12pt}
p:first-line {color: #0000FF; font-variant: small-caps}

<p>Some text that ends up on two or more lines</p>

在上面的例子中,浏览器显示根据 first-line 伪元素格式化的第一行。浏览器是依靠浏览器窗口的尺寸来进行分行的。

提示: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 {font-size: 12pt}
p:first-letter {font-size: 200%; float: left}

<p>The first words of an article.</p>

输出的效果类似于:

___
  |  he first 
  |  words of an
article.
  • 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">文章中的一个段落。</p>

上面的例子会使所有 class 为 article 的段落的首字母变为红色。

多重伪元素

多个伪元素可以配合在一起使用:

p {font-size: 12pt;}
p:first-letter {color: #FF0000; font-size: 24pt;}
p:first-line {color: #0000FF;}
<p>The first words of an article</p>

输出的效果类似于:

__
  |  he first 
  |  words of an
article.

在上面的例子中,段落的首字母将是字号为 24pt 的红色。首行的其余部分将会是蓝色,而段落的其余部分会是默认的颜色。

CSS2 - :before 伪元素

before 伪元素可用于在某个元素之前插入某些内容。

下面的样式会在标题之前播放音频:

h1:before
{
content: url(beep.wav)
}

CSS2 - :after 伪元素

after 伪类可用于在某个元素之后插入某些内容。

下面的样式会在标题之后播放音频:

h1:after
{
content: url(beep.wav)
}

伪元素

浏览器支持IE: Internet Explorer, F: Firefox, N: Netscape。

W3C:“W3C”列的数字显示出属性背景由哪个CSS标准定义(CSS1还是CSS2)。

伪元素 作用 IE F N W3C
:first-letter 将特殊的样式添加到文本的首字母 5 1 8 1
:first-line 将特殊的样式添加到文本的首行 5 1 8 1
:before 在某元素之前插入某些内容   1.5 8 2
:after 在某元素之后插入某些内容   1.5 8 2