-3

このようなレイアウトを持つ:

<div class="a">
    <div>
        <div class="b">
            <div class="b">...</div>
        </div>
    </div>
</div>

b へのパス全体を必ずしも定義せずに、最初の div クラス b のみをスタイルすることはまったく可能ですか?

.a .b {
    border: 1px solid green;
} // Will style also the second b
.a > div > .b {
    border: 1px solid red;
} // Path too strictly defined

もちろん、私の構造はそれほど単純ではなく、div クラス b 内のコンテンツは何でもかまいません。そのため、a から b までのスタイルと他のすべての要素を厳密に定義したくありません。

「最初の次の一致」というCSSセレクターがあるはずです。

4

5 に答える 5

2

「最初の次の一致」というCSSセレクターがあるはずです。

まあ、ありません。要素に一致させる正確な構造を指定する必要がありますが、これは既に.a > div > .b. スタイルをオーバーライドする必要がある内部要素がある場合は、それらの要素に個別のルールを追加する必要があります。

于 2013-08-30T08:59:54.063 に答える
-1

これはどうですか:

.a .b:first-child {
    border:1px solid red;
}
于 2013-08-30T08:58:57.993 に答える
-1

を使用:first-childすると、そのクラスを持つすべての最初の子がスタイルされます

あなたの例のために

.b:first-child

どの最初の子を使用するかを制限するには、他のセレクターを追加する必要があります。

于 2013-08-30T08:59:46.470 に答える