我在下面添加了一個小提琴,它提供了我正在處理的問題的視覺效果。雖然搞亂了CSS選擇器,但我意識到!重要的選擇器非常強大,直到它遇到它的老闆:不是選擇器。:重要的不是(.MyClass)選擇器
div:not(.red){
background-color:green !important;
width:400px;
height:50px
}
在我的小提琴中,我宣佈紫色的初始值爲我的所有背景。 我訂購了第一個專門爲紅色的,第二個爲藍色的 我然後命令我除紅色以外的所有背景都是綠色。它做到了!
好爲止
然後我做了一個褐色,顏色與紫色很重要的變化另一褐色。它改變了兩個棕色班。
當我特別要求除紅色之外的所有東西都必須是綠色的時候,這兩個褐色不會變綠,這讓人感到困惑。我對自己說:「重要的選擇確定它很強!」然後,我添加了一個!重要的選擇器給我:不是選擇器類的好措施。鑑於紫色重要類是最底層的類,它將覆蓋重要的綠色,並保持紫色.... OOOOHHHHH NOOOOOO !!!!他們都(紅色除外)變成綠色!
什麼給?
什麼是真正的層次和命令鏈上的CSS選擇器?
這裏是FIDDLE
我試過了。我增加了對棕色的特殊性,同時重要並覆蓋了綠色。那麼,基本上增加陽性特異性比陰性特異性更強?換句話說,我指定了兩條指令:一個正面的 - div.brown ...!重要的和負面的: - :不是.....!很重要,棕色盛行 – LOTUSMS
@LOTUSMS不,這是因爲體重的總選擇器。 'div:not(.red)'既有元素又有類。 '.brown'只有一個類。 http://jsfiddle.net/4Zj5C/2/ – Will
一個經典:http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html注意'.whatever'只是得到一個維德,但'a.whatever'得到衝鋒隊員和維德爾! – Will