編集:
CSS を確認した後、頭に大きな穴が開いていることに気付きました。実際の問題は、 でcolor
ルールを定義していなかったという単純な事実でbar.css
.footer-link:hover
あり、明らかに のカラー ルールfoo.css
a:hover
が適用されていました。CSS 101. 今日は金曜日です。私は明らかに週末が必要です。ご協力いただきありがとうございます!
プロジェクトの UI に取り組んでいるときに興味深いものを見つけました。これは、CSS の特異性を取り巻く私の理解不足に関連していると確信しています。私はいくつかの調査を行いましたが、まだ自分の問題を解決できないようです。
とにかく、2 つの異なるスタイルシートに含まれるアンカー要素の定義済みのスタイルがいくつかあります。簡単にするために、それらfoo.css
を と と呼びますbar.css
。foo.css
前のページに含まれていますbar.css
にfoo.css
は、次のルールがあります。
a {
color: #0088cc;
text-decoration: none;
}
a:hover {
color: #0088cc;
}
にbar.css
は、次のルールがあります。
.footer-link {
border: 1px solid transparent;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
color: rgb(150, 150, 150);
font-size: 13px;
line-height: 18px;
margin-right: 6px;
}
.footer-link:hover {
background-color: rgba(255, 191, 254, 0.8);
text-decoration: none;
}
HTML マークアップは次のとおりです。
<a href = "#" class = "footer-link">Cheese is really good</a>
私が理解しているように、より特異性が高いにもかかわらず、スタイルhover
が適用されているようです。予想どおり、通常のアンカー スタイルが適用されています。foo.css
.footer-link:hover
だから私の質問は:
ホバー ルールがページの後半に含まれており、より具体性が高いはずなfoo.css
のに、なぜホバー ルールが適用されるのですか?bar.css
.footer-link:hover
a:hover
前もって感謝します!