CSS は、あるスタイルを別のスタイルに適用するタイミングをどのように決定しますか?
私はW3 の CSS3 セレクター ドキュメントを数回読んでおり、jQuery で CSS セレクターをより適切に使用する方法を理解するのに役立ちましたが、ある CSS ルールが別のルールに適用されるタイミングを理解するのにはあまり役立ちませんでした。
私は次のHTMLを持っています:
<div class='item'>
<a>Link 1</a>
<a class='special'>Link 2</a>
</div>
私は次のCSSを持っています:
.item a {
text-decoration: none;
color: black;
font-weight: bold;
font-size: 1em;
}
.special {
text-decoration: underline;
color: red;
font-weight: normal;
font-size: 2em;
}
上記の場合、リンク 1 とリンク 2 の両方が、.item a
CSS によって決定されるように同じスタイルになります。に関連付けられたスタイル.special
がリンク 2 で優先されないのはなぜですか?
明らかに、次のように回避できます。
.special {
text-decoration: underline !important;
color: red !important;
font-weight: normal !important;
font-size: 1em !important;
}
しかし、それは私の理解不足のために振り込まなければならないハックのように感じます.