CSS ID 選擇器詳解
ID 選擇器允許以一種獨(dú)立于文檔元素的方式來(lái)指定樣式。
CSS ID 選擇器
在某些方面,ID 選擇器類似于類選擇器,不過(guò)也有一些重要差別。
語(yǔ)法
首先,ID 選擇器前面有一個(gè) # 號(hào) - 也稱為棋盤(pán)號(hào)或井號(hào)。
請(qǐng)看下面的規(guī)則:
*#intro {font-weight:bold;}
與類選擇器一樣,ID 選擇器中可以忽略通配選擇器。前面的例子也可以寫(xiě)作:
#intro {font-weight:bold;}
這個(gè)選擇器的效果將是一樣的。
第二個(gè)區(qū)別是 ID 選擇器不引用 class 屬性的值,毫無(wú)疑問(wèn),它要引用 id 屬性中的值。
以下是一個(gè)實(shí)際 ID 選擇器的例子:
<p id="intro">This is a paragraph of introduction.</p>
類選擇器還是 ID 選擇器?
在類選擇器這一章中我們?cè)v解過(guò),可以為任意多個(gè)元素指定類。前一章中類名 important 被應(yīng)用到 p 和 h1 元素,而且它還可以應(yīng)用到更多元素。
區(qū)別 1:只能在文檔中使用一次
與類不同,在一個(gè) HTML 文檔中,ID 選擇器會(huì)使用一次,而且僅一次。
區(qū)別 2:不能使用 ID 詞列表
不同于類選擇器,ID 選擇器不能結(jié)合使用,因?yàn)?ID 屬性不允許有以空格分隔的詞列表。
區(qū)別 3:ID 能包含更多含義
類似于類,可以獨(dú)立于元素來(lái)選擇 ID。有些情況下,您知道文檔中會(huì)出現(xiàn)某個(gè)特定 ID 值,但是并不知道它會(huì)出現(xiàn)在哪個(gè)元素上,所以您想聲明獨(dú)立的 ID 選擇器。例如,您可能知道在一個(gè)給定的文檔中會(huì)有一個(gè) ID 值為 mostImportant 的元素。您不知道這個(gè)最重要的東西是一個(gè)段落、一個(gè)短語(yǔ)、一個(gè)列表項(xiàng)還是一個(gè)小節(jié)標(biāo)題。您只知道每個(gè)文檔都會(huì)有這么一個(gè)最重要的內(nèi)容,它可能在任何元素中,而且只能出現(xiàn)一個(gè)。在這種情況下,可以編寫(xiě)如下規(guī)則:
#mostImportant {color:red; background:yellow;}
這個(gè)規(guī)則會(huì)與以下各個(gè)元素匹配(這些元素不能在同一個(gè)文檔中同時(shí)出現(xiàn),因?yàn)樗鼈兌加邢嗤?ID 值):
<h1 id="mostImportant">This is important!</h1> <em id="mostImportant">This is important!</em> <ul id="mostImportant">This is important!</ul>
親自試一試:
區(qū)分大小寫(xiě)
請(qǐng)注意,類選擇器和 ID 選擇器可能是區(qū)分大小寫(xiě)的。這取決于文檔的語(yǔ)言。HTML 和 XHTML 將類和 ID 值定義為區(qū)分大小寫(xiě),所以類和 ID 值的大小寫(xiě)必須與文檔中的相應(yīng)值匹配。
因此,對(duì)于以下的 CSS 和 HTML,元素不會(huì)變成粗體:
#intro {font-weight:bold;}
<p id="Intro">This is a paragraph of introduction.</p>
由于字母 i 的大小寫(xiě)不同,所以選擇器不會(huì)匹配上面的元素。