div
複数のタグを含むタグがありますul
。
最初のタグに対してのみ CSS プロパティを設定しようとするとul
、次のコードが機能します。
div ul:first-child {
background-color: #900;
}
最初のタグを除く各タグの CSS プロパティを設定したいときはul
、次のようにします。
div ul:not:first-child {
background-color: #900;
}
これも:
div ul:not(:first-child) {
background-color: #900;
}
この:
div ul:first-child:after {
background-color: #900;
}
しかし、効果はありません。CSS で「最初の要素を除く各要素」とはどのように記述すればよいのでしょうか?
ベストアンサー1
あなたが投稿したバージョンの1つ実際に機能するすべての最新ブラウザ(CSS セレクタ レベル 3はサポートされている):
div ul:not(:first-child) {
background-color: #900;
}
レガシーブラウザをサポートする必要がある場合、または:not
セレクタの制限(受け入れるのはシンプルなセレクタを引数として使う場合は、別のテクニックを使うことができます。
意図した範囲よりも広い範囲を持つルールを定義し、その後、条件付きでそのルールを「取り消し」、その範囲を意図した範囲に制限します。
div ul {
background-color: #900; /* applies to every ul */
}
div ul:first-child {
background-color: transparent; /* limits the scope of the previous rule */
}
範囲を制限する場合は、デフォルト値設定する各 CSS 属性に対して。