W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

CSS 伪元素



什么是伪元素?

CSS伪元素则代表了某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中。


语法

伪元素的语法:

selector::pseudo-element {
    property:value;
}

::first-line 伪元素

::first-line 伪元素用于向文本的首行设置特殊样式。

在下面的例子中,浏览器会根据 "first-line" 伪元素中的样式对所有 <p> 元素的第一行文本进行格式化:

Example 

p::first-line {
    color: #ff0000;
    font-variant: small-caps;
}
尝试一下 »

注意: ::first-line 伪元素只能用于块级元素。

下面的属性可应用于 ::first-line 伪元素:

  • font properties
  • color properties
  • background properties
  • word-spacing
  • letter-spacing
  • text-decoration
  • vertical-align
  • text-transform
  • line-height
  • clear

::first-letter 伪元素

::first-letter 伪元素用于向文本的首字母设置特殊样式:

下面的例子将所有 <p> 元素的文本的第一个字母格式化:

Example

p::first-letter {
    color: #ff0000;
    font-size: xx-large;
}
尝试一下 »

注意: ::first-letter 伪元素只能用于块级元素。

下面的属性可应用于 ::first-letter 伪元素:

  • font properties
  • color properties 
  • background properties
  • margin properties
  • padding properties
  • border properties
  • text-decoration
  • vertical-align (only if "float" is "none")
  • text-transform
  • line-height
  • float
  • clear

伪元素和CSS类

伪元素可以结合CSS类:

Example

p.intro::first-letter {
    color: #ff0000;
    font-size:200%;
}
尝试一下 »

上面的例子会使所有 class="intro" 的段落的首字母变为红色并且字体变大两倍。


多个伪元素

几个伪元素也可以结合使用。

在下面的例子中,段落的第一个字母将显示为红色,其字体大小为 xx-large。第一行中的其余文本将为蓝色,并以小型大写字母显示。

Example

p::first-letter {
    color: #ff0000;
    font-size: xx-large;
}

p::first-line {
    color: #0000ff;
    font-variant: small-caps;
}
尝试一下 »

CSS - ::before 伪元素

::before 伪元素可以在元素的内容前面插入新内容。

下面的例子在每个 <h1> 元素前面插入一幅图片:

Example

h1::before {
    content: url(smiley.gif);
}
尝试一下 »

CSS - ::after 伪元素

::after 伪元素可以在元素的内容之后插入新内容。

下面的例子在每个 <h1> 元素后面插入一幅图片:

Example

h1::after {
    content: url(smiley.gif);
}
尝试一下 »

CSS - ::selection 伪元素

::selection 伪元素匹配被用户选取的选取是部分。

Example

::selection {
    color: red;
    background: yellow;
}
尝试一下 »

所有CSS伪类/元素

选择器 示例 示例说明
:link a:link 选择所有未访问链接
:visited a:visited 选择所有访问过的链接
:active a:active 选择正在活动链接
:hover a:hover 把鼠标放在链接上的状态
:focus input:focus 选择元素输入后具有焦点
:first-letter p:first-letter 选择每个<p> 元素的第一个字母
:first-line p:first-line 选择每个<p> 元素的第一行
:first-child p:first-child 选择器匹配属于任意元素的第一个子元素的 <]p> 元素
:before p:before 在每个<p>元素之前插入内容
:after p:after 在每个<p>元素之后插入内容
:lang(language) p:lang(it) 为<p>元素的lang属性选择一个开始值