语法
伪元素的语法:
selector:pseudo-element {property:value;}
CSS 类也可以与伪元素配合使用:
selector.class:pseudo-element {property:value;}
:first-line 伪元素
"first-line" 伪元素用于向文本的首行设置特殊样式。
在下面的例子中,浏览器会根据 "first-line" 伪元素中的样式对 p 元素的第一行文本进行格式化:
实例
p:first-line
. m2 i& j1 N: \ {
" }/ f# n# J/ M+ p color:#ff0000;3 \/ {& B* ^* a& d3 o; E
font-variant:small-caps;% W: L% W4 } [! p
}8 U% I. g8 S6 t1 o7 [+ J
亲自试一试
注释:"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
2 m& U* F0 Y# k" D$ L: [8 V, r {
! Y% q) M& y$ m. s) W color:#ff0000;
1 l* h& k/ Z( j7 X: g) y5 B font-size:xx-large;" z& R! j8 c, k3 N5 C& t1 D, |4 k
}* U) F& D) y+ V% c: g9 Q
亲自试一试
注释:"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
. [& C# s8 ~7 \; j4 \$ J( j
{( t# U% T2 C) ]& L
color: #FF0000;# P3 a* H' ]9 k" a, ~+ m$ N
}! [5 Z7 p' Y1 w0 u* y' E
% |% _% S1 A' \' E! f8 b<p class="article">This is a paragraph in an article。</p>
8 K& ^& |" W$ i0 s3 J2 j. u: y5 ~
上面的例子会使所有 class 为 article 的段落的首字母变为红色。
多重伪元素
可以结合多个伪元素来使用。
在下面的例子中,段落的第一个字母将显示为红色,其字体大小为 xx-large。第一行中的其余文本将为蓝色,并以小型大写字母显示。段落中的其余文本将以默认字体大小和颜色来显示:
p:first-letter
5 P% f0 ]; p4 R$ G+ ?6 |9 J {2 P, r) Q$ x4 R9 l6 ^
color:#ff0000;& j p/ y, M5 [, B- \
font-size:xx-large;+ `5 r) f. _# x# ^7 z/ _- C
}
* ?8 y% h0 U! Y3 H& K
% S1 Y: L3 j/ r/ T0 wp:first-line
; M" y5 S/ }" r3 _8 L3 c {( x S. |+ R6 x
color:#0000ff;
( R! F# R" \( _6 e7 R font-variant:small-caps;0 x8 F+ M7 A' ] N6 J4 U
}/ M0 U+ [3 F8 z4 R1 d# U0 J
亲自试一试
CSS2 - :before 伪元素
":before" 伪元素可以在元素的内容前面插入新内容。
下面的例子在每个 <h1> 元素前面插入一幅图片:
h1:before
0 o( \; Z3 ~3 m& K$ U {
9 A( N3 H- S+ G' R$ ` content:url(logo.gif);
( N. W l$ j7 F; `* L }
4 H: J$ }8 s7 H. @" S
亲自试一试
CSS2 - :after 伪元素
":after" 伪元素可以在元素的内容之后插入新内容。
下面的例子在每个 <h1> 元素后面插入一幅图片:
h1:after
- E& B# }: e8 z- X: a {& ^# s( m n8 Y
content:url(logo.gif);1 c4 N+ K0 }% y; T: ~) M
}
# Y S6 o Q: i& t- }
亲自试一试
伪元素
W3C:"W3C" 列指示出该属性在哪个 CSS 版本中定义(CSS1 还是 CSS2)。