CSSで親子関連のセレクターをネスト(入れ子)で指定する方法
CSSで親子関連のセレクターを指定する場合「.parent .child{}」のように指定していたが、ネスト(入れ子)で指定できるようになったらしい。ネストで指定する方が明らかに保守性が上がると思われるので指定方法を覚えておきたい。以下にソースコード及びサンプルをメモ。
リファレンス
https://developer.mozilla.org/ja/docs/Web/CSS/CSS_nesting/Using_CSS_nesting
サンプル
https://taitan916.info/sample/CSS_nesting/
ソースコード
<style>
.parent{
color: #fff;
background: #f00;
.child{
background: #0f0;
.grandchild{
background: #00f;
}
}
}
</style>
<div class="parent">
親要素
<div class="child">
子要素
<div class="grandchild">
孫要素
</div>
</div>
</div>
その他
ブラウザサポート状況
こちらのページを見る限り主要ブラウザでは問題無くサポートされている模様。
ちなみに2023年12月以降に主要ブラウザで動作するようになったとのことで割と最近の話になる。
所感
今までセレクター指定だとCSSを追加する毎にバラバラになるというか、後から見た時に分かりづらくなりがちだった。
ネスト指定できるようになると「スライダー用のセレクタ」「記事部分のセレクタ」等、ブロックごとにまとめられるので保守性が上がると思われる。
関連記事
-
-
要素の表示or非表示
今まで要素の表示or非表示をCSSで操作する際、 display:none; / ...
-
-
特定のID / Classを持つタグの親要素に対してCSSを割り当てる方法
特定のID / Classを持つタグの親要素に対してCSSを割り当てたい。また、 ...
-
-
「slick」でスライダー中央の下部にのみ指定したコンテンツを表示する方法
「slick」でスライダー画像の下部に何らかのコンテンツ(テキスト・リンク・別画 ...
-
-
Material Design LiteでiPhoneのみリンク(ボタン)をクリックしても動作しない場合の対応方法
最近サイト内のツールページ等をMaterial Design Liteで作ってい ...
-
-
セレクトメニュー(プルダウン)をdisplay:none;指定してもiPhoneのみ非表示にならない問題の対応方法
セレクトメニュー(プルダウン)に対してdisplay:none;指定したりjQu ...