id 选择器
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 "#" 来定义。
下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:
#red {color:red;}
6 `3 W! [$ z/ | @7 K9 G7 r#green {color:green;}9 O2 E/ S0 V5 p/ B- Z
下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。
<p id="red">这个段落是红色。</p>5 ` B$ }! L3 \+ L7 }" ?0 g9 m
<p id="green">这个段落是绿色。</p> @1 `' s# U) j: G$ Z
注意:id 属性只能在每个 HTML 文档中出现一次。想知道原因吗,请参阅 XHTML:网站重构。
id 选择器和派生选择器
在现代布局中,id 选择器常常用于建立派生选择器。
#sidebar p {& A1 E* y T5 X% i7 S
font-style: italic;
) i6 a. \- r q# H! E. V text-align: right;' O' F" D4 o8 t! l( g* P
margin-top: 0.5em;" s' E1 G# K L6 D; g7 u
}
, u. n) A2 v! z- Y0 F, @
上面的样式只会应用于出现在 id 是 sidebar 的元素内的段落。这个元素很可能是 div 或者是表格单元,尽管它也可能是一个表格或者其他块级元素。它甚至可以是一个内联元素,比如 <em></em> 或者 <span></span>,不过这样的用法是非法的,因为不可以在内联元素 <span> 中嵌入 <p> (如果你忘记了原因,请参阅 XHTML:网站重构)。
一个选择器,多种用法
即使被标注为 sidebar 的元素只能在文档中出现一次,这个 id 选择器作为派生选择器也可以被使用很多次:
#sidebar p {
, R& i2 r3 f9 K3 T- u4 w: h font-style: italic;' ?! ]0 R3 s5 Z# y4 I% C( w0 Y
text-align: right;" V- x3 K Z& y
margin-top: 0.5em;- i7 I! c% B, B: Q% b; x
}3 M" W/ q$ f1 ^8 `* u$ m# A
# a' ]. `! ]- t" q8 ?( v, t3 i#sidebar h2 {
0 ^ L. x) [3 |* c font-size: 1em;- x/ ?1 v$ V3 t4 _0 q8 v( f
font-weight: normal;
3 ?" D6 y+ `: _; U! d0 v font-style: italic;
8 E- n3 T$ `+ j( k/ O) l4 | margin: 0;
* f: t; f4 y. l. L% n3 T line-height: 1.5;
: I, {+ y8 Q" C+ @, |. G; X text-align: right;
# ?0 m; R+ d/ `( l2 _6 z }3 d$ H, N% C6 `. Q1 N7 y' \1 I5 [, x4 U
在这里,与页面中的其他 p 元素明显不同的是,sidebar 内的 p 元素得到了特殊的处理,同时,与页面中其他所有 h2 元素明显不同的是,sidebar 中的 h2 元素也得到了不同的特殊处理。
单独的选择器
id 选择器即使不被用来创建派生选择器,它也可以独立发挥作用:
#sidebar {! ]8 B* Z4 o0 I5 S
border: 1px dotted #000;; f, o- T' W. E, B# ~
padding: 10px;
- e1 K$ e$ d6 M9 Y9 T3 ?" H0 z }
根据这条规则,id 为 sidebar 的元素将拥有一个像素宽的黑色点状边框,同时其周围会有 10 个像素宽的内边距(padding,内部空白)。老版本的 Windows/IE 浏览器可能会忽略这条规则,除非你特别地定义这个选择器所属的元素:
div#sidebar {; v4 h! `3 ~/ z0 ]% f9 P( J
border: 1px dotted #000;
# ?$ s6 R7 w1 J7 n p7 m5 b padding: 10px;
) B, V; [0 @" w+ L }