爲什麼#box2 a
覆蓋#box a
,當我把.box2 a
它不覆蓋?幫我理解這個CSS覆蓋行爲
#box a { font-size:25px; }
#box2 a { font-size:55px; }
<div id="box">
<a href="">link</a>
<div id="box2"><a href="">link</a></div>
</div>
爲什麼#box2 a
覆蓋#box a
,當我把.box2 a
它不覆蓋?幫我理解這個CSS覆蓋行爲
#box a { font-size:25px; }
#box2 a { font-size:55px; }
<div id="box">
<a href="">link</a>
<div id="box2"><a href="">link</a></div>
</div>
CSS規則總是按照外觀的順序出現,所以如果兩個適用於特定的元素,最後一個出現的優先。
此外,如前所述,如果使用.box2
將適用於與類名box2
的元素,而#box2
將適用於一個元素與box2
Understanding CSS Style Precedence
Another Stack Overflow question relating to CSS classes and ids, and precedence
'。'指的是一個類名,'#'指的是一個id。 – Will
如果您將CSS更改爲'.box2'並將div設置爲'class =「box2」',則將使用25px而不是55px。這就是他所說的。 – Trevor
http://www.w3.org/TR/CSS2/selector.html –