0

このリストがある場合:

<ul class="parent">
    <li class="child">li1</li>
    <li>li2</li>
    <li>li3</li>
</ul>

今申し込めば

.parent li {
    background-color: blue;
}
.child {
    background-color: red;
}

赤い背景は無視されます。重要にしたくありませんが、クラスが機能しない理由を理解してください。これらのセレクターを & に変更するか、ul li&.childに拡張すると.parent li.parent .childバックグラウンドが適用されます。簡単な質問かもしれませんが、ルールはありますか?なぜこのセレクターを「フルパス」で定義する必要があるのでしょうか? クラス名のみで直接定義すると機能しないのはなぜですか?

4

1 に答える 1

4

答えはCSSセレクターの特異性にあります。短いバージョン:最も具体的なセレクターが勝ちます。

于 2012-07-27T00:08:37.797 に答える