CSS選擇器通常不區(qū)分大小寫;這包括類和ID選擇器。
但HTML類名是區(qū)分大小寫(請(qǐng)參閱屬性定義),這將導(dǎo)致第二個(gè)示例中的不匹配。這一點(diǎn)并沒有改變。HTML 5.1
這是因?yàn)檫x擇器的區(qū)分大小寫。取決于文檔語(yǔ)言所說(shuō)的內(nèi)容。:
在ASCII范圍內(nèi),所有選擇器語(yǔ)法都是不區(qū)分大小寫的(即[a-z]和[A-Z]是等效的),但不受選擇器控制的部分除外。選擇器中的文檔語(yǔ)言元素名稱、屬性名稱和屬性值的區(qū)分大小寫取決于文檔語(yǔ)言。
因此,給定一個(gè)HTML元素Selfcatering
類但沒有SelfCatering
類,選擇器.Selfcatering
和[class~="Selfcatering"]
將匹配,而選擇器.SelfCatering
和[class~="SelfCatering"]
不會(huì)的。2
如果文檔類型將類名定義為不區(qū)分大小寫,則不管如何,都會(huì)有匹配。
1 對(duì)于所有瀏覽器,類和ID都是不區(qū)分大小寫的。這意味著不匹配的選擇器將永遠(yuǎn)匹配。由于遺留原因,此行為在所有瀏覽器上都是一致的,并在這篇文章.
2 不管值多少錢,4級(jí)選擇器包含建議的語(yǔ)法,用于強(qiáng)制對(duì)屬性值進(jìn)行不區(qū)分大小寫的搜索。[class~="Selfcatering" i]
或[class~="SelfCatering" i]
..這兩個(gè)選擇器都會(huì)將HTML或XHTML元素與Selfcatering
類或a類SelfCatering
類(當(dāng)然,兩者兼而有之)。然而,對(duì)于類或ID選擇器沒有這樣的語(yǔ)法(尚未?),可能是因?yàn)樗鼈兊恼Z(yǔ)義與常規(guī)屬性選擇器(這些屬性選擇器具有不同的語(yǔ)義)。不),或者因?yàn)楹茈y找到一個(gè)可用的語(yǔ)法。