锚伪类
在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。
a:link {color: #FF0000} /* 未访问的链接 */* g9 o" u- y9 ~
a:visited {color: #00FF00} /* 已访问的链接 */
1 H8 Q" p# u" pa:hover {color: #FF00FF} /* 鼠标移动到链接上 */& R9 a5 i' P. {4 s% ^
a:active {color: #0000FF} /* 选定的链接 */
/ q X. f" o4 P. U8 w" L
亲自试一试
提示:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
提示:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。
提示:伪类名称对大小写不敏感。
CSS2 - :first-child 伪类
您可以使用 :first-child 伪类来选择元素的第一个子元素。这个特定伪类很容易遭到误解,所以有必要举例来说明。考虑以下标记:
<div>
2 R+ ~3 X a" U<p>These are the necessary steps:</p>' h7 n3 C2 w0 d
<ul>
+ q/ _7 {! S+ y! @1 o/ s9 U<li>Intert Key</li>( [+ o+ ?/ H9 N! `
<li>Turn key <strong>clockwise</strong></li>0 |: ?+ w# s" E8 u. G4 L/ _& C
<li>Push accelerator</li>. c) a0 y3 N, `% Q; n7 ]1 N
</ul>) P6 _9 g/ h( K( _; Z# s" Z8 f6 P
<p>Do <em>not</em> push the brake at the same time as the accelerator.</p>! t% _" p" U9 Y( x
</div>
1 Q$ h/ t; Z2 n C% T
在上面的例子中,作为第一个元素的元素包括第一个 p、第一个 li 和 strong 和 em 元素。
给定以下规则:
p:first-child {font-weight: bold;}
9 C5 X2 X7 V8 j( a$ w7 Z. P9 sli:first-child {text-transform:uppercase;}
# I4 v2 e0 c; S& y第一个规则将作为某元素第一个子元素的所有 p 元素设置为粗体。第二个规则将作为某个元素(在 HTML 中,这肯定是 ol 或 ul 元素)第一个子元素的所有 li 元素变成大写。
请访问该链接,来查看这个 :first-child 实例的效果。
提示:最常见的错误是认为 p:first-child 之类的选择器会选择 p 元素的第一个子元素。
注释:必须声明 <!DOCTYPE>,这样 :first-child 才能在 IE 中生效。
为了使您更透彻地理解 :first-child 伪类,我们另外提供了 3 个例子:
例子 1 - 匹配第一个 <p> 元素
在下面的例子中,选择器匹配作为任何元素的第一个子元素的 p 元素:
<html>. ~& Z3 N0 ], i- E9 H. \
<head>
, |; n. @0 s2 |# D; G" b<style type="text/css">
6 Z6 B2 I: o/ d0 c1 w Mp:first-child {
v& F* }, z9 y: `' J& e color: red;- C5 b& {* \, V0 w
}
: o' a% r! r/ i/ i" k</style>
5 q2 W+ J( Q6 g8 G</head>
9 L) y, [: F! o! v3 P% w' W+ m! Z" R
<body>4 K c. n! g# g5 S. m0 R: {
<p>some text</p>
# C: n+ ^( K* v/ c0 o+ f! ^+ u<p>some text</p>! d- F" C8 O0 p7 W3 e: F
</body># R5 B( u4 p% a f2 y
</html>
TIY
例子 2 - 匹配所有 <p> 元素中的第一个 <i> 元素
在下面的例子中,选择器匹配所有 <p> 元素中的第一个 <i> 元素:
<html>+ ]8 p o0 o7 S$ ^
<head>$ n% _! y, T3 B' I
<style type="text/css">
- u+ }" M2 u: K6 \6 X+ [p > i:first-child {
% ]6 H$ B; W0 t8 L font-weight:bold;
: s0 m1 J1 ^+ F `# `! Q } 1 y. D5 g- V5 b9 x
</style>5 c8 J4 j- a [/ u5 z E! ~; [& z
</head>
( F/ @2 M+ q; ^6 C4 P7 j/ L1 o4 |* V, c- ?" M U
<body>
/ i; j4 _5 D( { [# s- ~<p>some <i>text</i>. some <i>text</i>.</p>- r( \# c2 A+ r2 T1 O
<p>some <i>text</i>. some <i>text</i>.</p>, z% Y" e3 ~4 s0 P
</body>) T' D" Y2 l% v! @7 t% M' X
</html>
TIY
例子 3 - 匹配所有作为第一个子元素的 <p> 元素中的所有 <i> 元素
在下面的例子中,选择器匹配所有作为元素的第一个子元素的 <p> 元素中的所有 <i> 元素:
<html>
7 w' z4 I. n( D<head>
' c4 `2 t6 t2 y5 n<style type="text/css">
8 J# [$ d; r4 p; a. g, ?8 _1 pp:first-child i {
, K+ V1 j. c. p( {, x' v color:blue;2 A1 Z% { Y8 J! M
}
3 B7 `( m) M# t7 V+ Q</style>9 h: F! a2 P) H/ q( W# K" H( e
</head>* t; [! L1 ^3 k2 V2 K
, [+ q6 E @' r. f. l
<body>7 l# @7 F6 E2 Z. v1 r% {
<p>some <i>text</i>. some <i>text</i>.</p>. y+ p9 {3 k+ I4 }1 \
<p>some <i>text</i>. some <i>text</i>.</p>
, I- D. A$ H* V7 Z</body>
/ Z2 e$ s: V! K" ?( n+ w</html>
TIY
CSS2 - :lang 伪类
:lang 伪类使你有能力为不同的语言定义特殊的规则。在下面的例子中,:lang 类为属性值为 no 的 q 元素定义引号的类型:
<html>; T( \/ N/ \. S* W9 q! H& w8 m" O
<head>/ a* c- s( y6 k
, O5 A$ I/ a1 j& [" [<style type="text/css">
( h+ p' M$ b4 p0 Y0 g/ V! }q:lang(no)
. N1 v+ x$ C+ D2 Y" |( _" b {$ z3 C, D G' F2 |+ I' g/ a0 V
quotes: "~" "~"
5 c1 S2 s) k/ {. ?0 D1 Y }# `* t: x5 ?" A8 o* b, H) h+ u3 M
</style>
" M6 i+ Z$ j7 l" I7 @6 i$ h+ X* J) A8 ~* G$ N$ Z ~% \' U2 N
</head>4 R6 ]6 ^5 M1 _7 M
( r. B& B) z# `5 B/ A<body>
" r& [$ P9 J4 R) p6 e; G<p>文字<q lang="no">段落中的引用的文字</q>文字</p>
7 L4 }5 f: X6 N" Y</body></html>