CSS 類(lèi)選擇器
類(lèi)選擇器允許以一種獨(dú)立于文檔元素的方式來(lái)指定樣式。
該選擇器可以單獨(dú)使用,也可以與其他元素結(jié)合使用。
提示:只有適當(dāng)?shù)貥?biāo)記文檔后,才能使用這些選擇器,所以使用這兩種選擇器通常需要先做一些構(gòu)想和計(jì)劃。
要應(yīng)用樣式而不考慮具體設(shè)計(jì)的元素,最常用的方法就是使用類(lèi)選擇器。
修改 HTML 代碼
在使用類(lèi)選擇器之前,需要修改具體的文檔標(biāo)記,以便類(lèi)選擇器正常工作。
為了將類(lèi)選擇器的樣式與元素關(guān)聯(lián),必須將 class 指定為一個(gè)適當(dāng)?shù)闹怠U?qǐng)看下面的 HTML 代碼:
<h1 class="important"> This heading is very important. </h1> <p class="important"> This paragraph is very important. </p>
在上面的代碼中,兩個(gè)元素的 class 都指定為 important:第一個(gè)標(biāo)題( h1 元素),第二個(gè)段落(p 元素)。
語(yǔ)法
然后我們使用以下語(yǔ)法向這些歸類(lèi)的元素應(yīng)用樣式,即類(lèi)名前有一個(gè)點(diǎn)號(hào)(.),然后結(jié)合通配選擇器:
*.important {color:red;}
如果您只想選擇所有類(lèi)名相同的元素,可以在類(lèi)選擇器中忽略通配選擇器,這沒(méi)有任何不好的影響:
.important {color:red;}
親自試一試
結(jié)合元素選擇器
類(lèi)選擇器可以結(jié)合元素選擇器來(lái)使用。
例如,您可能希望只有段落顯示為紅色文本:
p.important {color:red;}
選擇器現(xiàn)在會(huì)匹配 class 屬性包含 important 的所有 p 元素,但是其他任何類(lèi)型的元素都不匹配,不論是否有此 class 屬性。選擇器 p.important 解釋為:“其 class 屬性值為 important 的所有段落”。 因?yàn)?h1 元素不是段落,這個(gè)規(guī)則的選擇器與之不匹配,因此 h1 元素不會(huì)變成紅色文本。
如果你確實(shí)希望為 h1 元素指定不同的樣式,可以使用選擇器 h1.important:
p.important {color:red;} h1.important {color:blue;}
親自試一試
CSS 多類(lèi)選擇器
在上一節(jié)中,我們處理了 class 值中包含一個(gè)詞的情況。在 HTML 中,一個(gè) class 值中可能包含一個(gè)詞列表,各個(gè)詞之間用空格分隔。例如,如果希望將一個(gè)特定的元素同時(shí)標(biāo)記為重要(important)和警告(warning),就可以寫(xiě)作:
<p class="important warning"> This paragraph is a very important warning. </p>
這兩個(gè)詞的順序無(wú)關(guān)緊要,寫(xiě)成 warning important 也可以。
我們假設(shè) class 為 important 的所有元素都是粗體,而 class 為 warning 的所有元素為斜體,class 中同時(shí)包含 important 和 warning 的所有元素還有一個(gè)銀色的背景 。就可以寫(xiě)作:
.important {font-weight:bold;} .warning {font-weight:italic;} .important.warning {background:silver;}
親自試一試
通過(guò)把兩個(gè)類(lèi)選擇器鏈接在一起,僅可以選擇同時(shí)包含這些類(lèi)名的元素(類(lèi)名的順序不限)。
如果一個(gè)多類(lèi)選擇器包含類(lèi)名列表中沒(méi)有的一個(gè)類(lèi)名,匹配就會(huì)失敗。請(qǐng)看下面的規(guī)則:
.important.urgent {background:silver;}
不出所料,這個(gè)選擇器將只匹配 class 屬性中包含詞 important 和 urgent 的 p 元素。因此,如果一個(gè) p 元素的 class 屬性中只有詞 important 和 warning,將不能匹配。不過(guò),它能匹配以下元素:
<p class="important urgent warning"> This paragraph is a very important and urgent warning. </p>
親自試一試
重要事項(xiàng):在 IE7 之前的版本中,不同平臺(tái)的 Internet Explorer 都不能正確地處理多類(lèi)選擇器。