id 选择器
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 "#" 来定义。
下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:
#red
{color:red;}; {/ G1 S7 _. P; _8 R5 y: o% k" n
#green
{color:green;}
! W3 J/ R$ a+ T k3 l" t1 F% n
下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。
<p id="red"
>这个段落是红色。</p>* U( `6 T" M$ o' u0 W
<p id="green"
>这个段落是绿色。</p>$ ~' W2 h# n2 X1 H$ u8 q
注意:id 属性只能在每个 HTML 文档中出现一次。想知道原因吗,请参阅 XHTML:网站重构。
id 选择器和派生选择器
在现代布局中,id 选择器常常用于建立派生选择器。
#sidebar p
{. q/ d2 U! z9 | k( `
font-style: italic;
% ^; P/ n$ L4 Q! q text-align: right;
" I( k4 W. A- @( B margin-top: 0.5em;/ x7 u ^4 ]) Y4 R
}
1 U, E: J6 D# r! X* z8 D/ j
上面的样式只会应用于出现在 id 是 sidebar 的元素内的段落。这个元素很可能是 div 或者是表格单元,尽管它也可能是一个表格或者其他块级元素。它甚至可以是一个内联元素,比如 <em></em> 或者 <span></span>,不过这样的用法是非法的,因为不可以在内联元素 <span> 中嵌入 <p> (如果你忘记了原因,请参阅 XHTML:网站重构)。
一个选择器,多种用法
即使被标注为 sidebar 的元素只能在文档中出现一次,这个 id 选择器作为派生选择器也可以被使用很多次:
#sidebar p
{- {9 G' H( P: O% K1 N
font-style: italic;
1 |, _; A' ^) Y0 t7 s( C! |" F: ^ text-align: right;( W, v' D0 }: a
margin-top: 0.5em;
" ?0 v. p# p6 A' d7 ?/ r9 r }- U/ B* c: Q! ^+ F) n( T: s
% P h- c8 b0 F* ?; j. R# i( o
#sidebar h2
{
5 n/ I' e' Q6 e' ^# g" y) e& N# C font-size: 1em;
. m" d2 u1 z: ~5 A font-weight: normal;/ U9 m7 P, h8 G- F
font-style: italic;
$ L S% o( ]" N3 N, |. L0 Z" m& E% n% @ margin: 0;# D' s n: w! _+ \' u
line-height: 1.5;0 S3 b! b7 B9 J' k3 H* w7 S! A
text-align: right;
8 I( Y8 ~% L1 t- f6 f }
0 l3 @0 Y/ l. o$ V) J
在这里,与页面中的其他 p 元素明显不同的是,sidebar 内的 p 元素得到了特殊的处理,同时,与页面中其他所有 h2 元素明显不同的是,sidebar 中的 h2 元素也得到了不同的特殊处理。
单独的选择器
id 选择器即使不被用来创建派生选择器,它也可以独立发挥作用:
#sidebar
{- s0 K. Y9 ]" d t& s
border: 1px dotted #000;
+ e: n Z( }; p- L1 {- M padding: 10px;# |' d+ Y, f8 d* c0 [6 T1 [
}
根据这条规则,id 为 sidebar 的元素将拥有一个像素宽的黑色点状边框,同时其周围会有 10 个像素宽的内边距(padding,内部空白)。老版本的 Windows/IE 浏览器可能会忽略这条规则,除非你特别地定义这个选择器所属的元素:
div#sidebar
{% B$ n0 |) w. S% n/ s0 n
border: 1px dotted #000;
: ?4 B: g% |0 G& N, N: O2 f! o padding: 10px;; ?) a3 ^9 A# e! @0 O% v
}