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を追加する毎にバラバラになるというか、後から見た時に分かりづらくなりがちだった。
ネスト指定できるようになると「スライダー用のセレクタ」「記事部分のセレクタ」等、ブロックごとにまとめられるので保守性が上がると思われる。
関連記事
-
-
LINE風のふきだしデザイン
LINE風のふきだしデザインでページを作ってほしいと言われた。 CSSはあまり理 ...
-
-
CSSのdisplayについて
よく使うdisplayだけれども、noneとblock以外で 初めて使うことがあ ...
-
-
jQuery無しで要素にアニメーション効果を設定する方法(animate.css)
あるサイトをWappalyzerで調査していた際に「animate.css」とい ...
-
-
tableのtd内にあるcheckboxのクリック範囲を拡大させ、チェック時に親要素であるtdにCSSを割り当てる方法
tableのtd内にcheckboxを設置し、td部分をクリックすることでche ...
-
-
CSSでfloatやmargin&widthは使わずにブロック要素の中央寄せ・右寄せする方法
CSSでブロック要素を中央寄せする場合はwidth指定しつつ「margin:0 ...