<html><head><style type="text/css">
#foo { color: blue; }
a.bar { color: red; }
#foo .baz { background-color: cyan; }
a.bar > .baz { background-color: yellow; }
</style></head>
<body>
<div id="foo">
<a href="#" class="bar">
<span class="baz">TEXT</span>
</a>
</div>
</body>
</html>
我是一個CSS菜鳥,但我的直覺告訴我,a.bar
是包含TEXT
比#foo
的<span>
更具體的匹配,而TEXT
應該出現在紅黃色背景。或者如果#foo
更具體,那麼TEXT
應該藍色並帶有青色背景。需要幫助理解CSS規則的選擇性
取而代之的是,TEXT
以青色背景呈現紅色(在Chrome,IE8上測試)。 a.bar
如何比#foo
更具體,但是#foo .baz
比a.bar > .baz
更具體嗎?我如何使這個文本顯示爲紅色並且
青色
黃色對我已經指定的樣式的干擾最小(最小的一組更改)?
與紅色和青色出現與最小的中斷?你的意思是用青色文字代替紅色背景嗎? –
對不起,我的意思是說目標是帶有黃色背景的紅色文字。 – mob
也注意到它是「CSS特異性」,而不是「選擇性」,但這就是我google'ed爲和來到這裏 –