在某些方面,ID 選擇器類似於類選擇器,不過也有一些重要差別。
語法
首先,ID 選擇器前面有一個# 號- 也稱為棋盤號或井號。
請看下面的規則:
*#intro {font-weight:bold;}
與類選擇器一樣,ID 選擇器中可以忽略通配選擇器。前面的例子也可以寫作:
#intro {font-weight:bold;}
這個選擇器的效果將是一樣的。
第二個區別是ID 選擇器不引用class 屬性的值,毫無疑問,它要引用id 屬性中的值。
以下是一個實際ID 選擇器的例子:
<p <span class="marked">id="intro"</span> >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 <span class="marked">id="mostImportant"</span> >This is important!</h1> <em <span class="marked">id="mostImportant"</span> >This is important!</em> <ul <span class="marked">id="mostImportant"</span> >This is important!</ul>
區分大小寫
請注意,類選擇器和ID 選擇器可能是區分大小寫的。這取決於文檔的語言。HTML 和XHTML 將類和ID 值定義為區分大小寫,所以類和ID 值的大小寫必須與文檔中的相應值匹配。
因此,對於以下的CSS 和HTML,元素不會變成粗體:
#intro {font-weight:bold;} <p <span class="marked">id="Intro"</span> >This is a paragraph of introduction.</p>
由於字母i 的大小寫不同,所以選擇器不會匹配上面的元素。
留言列表