ID 選擇器允許以一種獨立于文檔元素的方式來指定樣式。
css ID 選擇器
在某些方面,ID 選擇器類似于類選擇器,不過也有一些重要差別。
語法
首先,ID 選擇器前面有一個 # 號 - 也稱為棋盤號或井號。
請看下面的規則:
*#intro {font-weight:bold;}
與類選擇器一樣,ID 選擇器中可以忽略通配選擇器。前面的例子也可以寫作:
#intro {font-weight:bold;}
這個選擇器的效果將是一樣的。
第二個區別是 ID 選擇器不引用 class 屬性的值,毫無疑問,它要引用 id 屬性中的值。
以下是一個實際 ID 選擇器的例子:
<p id="intro">天華信息教育.</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">天華信息教育!</h1> <em id="mostImportant">天華信息教育!</em> <ul id="mostImportant">天華信息教育!</ul>
實例
<html> <head> <style type="text/css"> #intro {font-weight:bold;} #mostImportant {color:red; background:yellow;} </style> </head> <body> <p id="intro">天華信息教育天華信息教育</p> <h1 id="mostImportant">天華信息教育</h1> <p>天華信息教育 <em id="mostImportant">天華信息教育</em>.</p> <ul id="mostImportant"> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul> <p>天華信息教育</p> <p>天華信息教育</p> <p>天華信息教育</p> <p>...</p> </body> </html>
區分大小寫
請注意,類選擇器和 ID 選擇器可能是區分大小寫的。這取決于文檔的語言。HTML 和 XHTML 將類和 ID 值定義為區分大小寫,所以類和 ID 值的大小寫必須與文檔中的相應值匹配。
因此,對于以下的 CSS 和 HTML,元素不會變成粗體:
#intro {font-weight:bold;} <p id="Intro">天華信息教育.</p>
由于字母 i 的大小寫不同,所以選擇器不會匹配上面的元素。