CSS ID 選擇器詳解

ID 選擇器允許以一種獨立于文檔元素的方式來指定樣式。

CSS ID 選擇器

在某些方面,ID 選擇器類似于類選擇器,不過也有一些重要差別。

語法

首先,ID 選擇器前面有一個 # 號 - 也稱為棋盤號或井號。

請看下面的規則:

*#intro {font-weight:bold;}

與類選擇器一樣,ID 選擇器中可以忽略通配選擇器。前面的例子也可以寫作:

#intro {font-weight:bold;}

這個選擇器的效果將是一樣的。

第二個區別是 ID 選擇器不引用 class 屬性的值,毫無疑問,它要引用 id 屬性中的值。

以下是一個實際 ID 選擇器的例子:

<p id="intro">This is a paragraph of introduction.</p>

親自試一試

類選擇器還是 ID 選擇器?

在類選擇器這一章中我們曾講解過,可以為任意多個元素指定類。前一章中類名 important 被應用到 p 和 h1 元素,而且它還可以應用到更多元素。

區別 1:只能在文檔中使用一次

與類不同,在一個 HTML 文檔中,ID 選擇器會使用一次,而且僅一次。

區別 2:不能使用 ID 詞列表

不同于類選擇器,ID 選擇器不能結合使用,因為 ID 屬性不允許有以空格分隔的詞列表。

區別 3:ID 能包含更多含義

類似于類,可以獨立于元素來選擇 ID。有些情況下,您知道文檔中會出現某個特定 ID 值,但是并不知道它會出現在哪個元素上,所以您想聲明獨立的 ID 選擇器。例如,您可能知道在一個給定的文檔中會有一個 ID 值為 mostImportant 的元素。您不知道這個最重要的東西是一個段落、一個短語、一個列表項還是一個小節標題。您只知道每個文檔都會有這么一個最重要的內容,它可能在任何元素中,而且只能出現一個。在這種情況下,可以編寫如下規則:

#mostImportant {color:red; background:yellow;}

這個規則會與以下各個元素匹配(這些元素不能在同一個文檔中同時出現,因為它們都有相同的 ID 值):

<h1 id="mostImportant">This is important!</h1>
<em id="mostImportant">This is important!</em>
<ul id="mostImportant">This is important!</ul>

親自試一試:

區分大小寫

請注意,類選擇器和 ID 選擇器可能是區分大小寫的。這取決于文檔的語言。HTML 和 XHTML 將類和 ID 值定義為區分大小寫,所以類和 ID 值的大小寫必須與文檔中的相應值匹配。

因此,對于以下的 CSS 和 HTML,元素不會變成粗體:

#intro {font-weight:bold;}
<p id="Intro">This is a paragraph of introduction.</p>

由于字母 i 的大小寫不同,所以選擇器不會匹配上面的元素。