OK、私は CSS カスケードと特異性を「科学」として理解しようとしており、常に「ヒットまたはミス」アプローチに任せているわけではありません。誰かが私を助けてくれることを願っています。
私にはルールがあります:
.bluebutton {margin: 0 10px 6px 0;} /* rule 1 */
特定のインスタンスで余白を変更するには、上書きする必要があります。
そこで、 に a を追加しclass
て、次のdiv
ように書きました。
.aside-right .bluebutton a {margin:30px 0 0 100px;} /* rule 2 */
ただし、ルール 2 はルール 1 を上書きしませんでした。
そこで、ルール 2 を次のように変更しました。
.aside-right a.bluebutton {margin:30px 0 0 100px;} /* rule 3 */
.bluebutton
" " ルールを上書きします。/* ルール 1 */
最初に私はこのHTMLを書きました
<a class="blueButton aside-right" href="enrollNow.html"><span>Enroll Now</span></a> <!-- html-1 -->
次に、ボタンを a 内に変更して含め、次のdiv
ように書きました。
<div class="aside-right"><a class="blueButton" href="enrollNow.html"><span>Enroll Now</span></a></div> <!-- html-2 -->
html-2 はルール 3 で動作しました。
ルール 3 がルール 1 を上書きし、ルール 2 がルール 1 を上書きしない理由を誰かが理解するのを手伝ってくれますか? ルール 2 と 3 の重みは同じに見えます (私には)。ルール 2 はanchor
任意の要素内の任意のタグを対象とし、ルール 3 は of を含むタグのみを対象class
とするためでしょうか? 私が理解しようとしていることを明確に説明したことを願っています。.bluebutton
.aside
anchor
class
.bluebutton
ありがとう!