<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
具体的な一致であり、黄色の背景に赤で表示されるはずです。または、より具体的な場合は、シアンの背景に青で表示する必要があります。<span>
TEXT
#foo
TEXT
#foo
TEXT
代わりにTEXT
、シアンの背景の赤で表示されます (Chrome、IE8 でテスト済み)。より具体的であるが、a.bar
より具体的であるというのはどうしてですか?このテキストを赤と水色の黄色で表示し、既に指定したスタイルへの影響を最小限に (最小限の変更で) するにはどうすればよいでしょうか?#foo
#foo .baz
a.bar > .baz