id 选择器
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 "#" 来定义。
下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:
#red
{color:red;}
) Q9 b3 t Z5 d' A& t- k* C$ v#green
{color:green;}& i+ V0 v; {) X/ B
下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。
<p id="red"
>这个段落是红色。</p>
$ ~) l5 n' I) o5 }$ v- B<p id="green"
>这个段落是绿色。</p>
/ ~9 {' x" T+ h
注意:id 属性只能在每个 HTML 文档中出现一次。想知道原因吗,请参阅 XHTML:网站重构。
id 选择器和派生选择器
在现代布局中,id 选择器常常用于建立派生选择器。
#sidebar p
{
7 x: p" Y6 H% o+ `9 h font-style: italic;! J; `0 f' `3 L3 U; V
text-align: right;5 b6 K. Z( ?5 N# _) U1 y- @
margin-top: 0.5em;
) j0 @2 f' G& U }
% `/ N( z' e: i; t
上面的样式只会应用于出现在 id 是 sidebar 的元素内的段落。这个元素很可能是 div 或者是表格单元,尽管它也可能是一个表格或者其他块级元素。它甚至可以是一个内联元素,比如 <em></em> 或者 <span></span>,不过这样的用法是非法的,因为不可以在内联元素 <span> 中嵌入 <p> (如果你忘记了原因,请参阅 XHTML:网站重构)。
一个选择器,多种用法
即使被标注为 sidebar 的元素只能在文档中出现一次,这个 id 选择器作为派生选择器也可以被使用很多次:
#sidebar p
{
( k/ o( `1 H7 O! u0 ]9 o/ p4 t font-style: italic;# P/ Y' Z1 Y5 E2 G" v
text-align: right;
% W) W+ q# Z* H9 r5 a3 ^ margin-top: 0.5em;" o+ l6 H6 p4 ~& X4 F7 R
}
% |& {* i& s. I' Z) X7 `3 n3 @8 a$ D
#sidebar h2
{& |% V6 H) L4 R8 _
font-size: 1em;
4 k1 q' y; ]* C+ g6 l9 g- S2 V font-weight: normal;
- Z$ A& ?) `) e+ {, c( ` font-style: italic;
9 M7 ~4 v( B' B9 p margin: 0;3 x" Z' {( e' s: x$ O8 h4 z+ l
line-height: 1.5;
1 g6 C+ f2 R; J q0 { text-align: right;+ Q/ R' @- s# A: n! M" I% Y
}' d/ `, [* N6 y* ^) y* p2 `
在这里,与页面中的其他 p 元素明显不同的是,sidebar 内的 p 元素得到了特殊的处理,同时,与页面中其他所有 h2 元素明显不同的是,sidebar 中的 h2 元素也得到了不同的特殊处理。
单独的选择器
id 选择器即使不被用来创建派生选择器,它也可以独立发挥作用:
#sidebar
{
! C& Y' g! V2 Y0 N& t/ V( S' } border: 1px dotted #000;( X- r- p- V1 a4 a7 J8 b( q4 E
padding: 10px;
0 y) g& U0 H3 ?; M9 m }
根据这条规则,id 为 sidebar 的元素将拥有一个像素宽的黑色点状边框,同时其周围会有 10 个像素宽的内边距(padding,内部空白)。老版本的 Windows/IE 浏览器可能会忽略这条规则,除非你特别地定义这个选择器所属的元素:
div#sidebar
{
. N% s0 ^2 n8 n( I! B6 Y border: 1px dotted #000;
9 A( x/ e( P, B padding: 10px;
5 K- o" ^) D4 ]: G: J# v4 m2 j/ L }