勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

CSSで親子関連のセレクターをネスト(入れ子)で指定する方法

  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を追加する毎にバラバラになるというか、後から見た時に分かりづらくなりがちだった。

ネスト指定できるようになると「スライダー用のセレクタ」「記事部分のセレクタ」等、ブロックごとにまとめられるので保守性が上がると思われる。

 - CSS

  関連記事

jQueryの日付&時間のピッカー(bootstrap-datetimepicker)について
jQueryの日付&時間のピッカー(bootstrap-datetimepicker)について

日付のピッカーはよく見るけど、時間のピッカーはあまり見ないので、普通のセレクトメ ...

tableのtd内にあるcheckboxのクリック範囲を拡大させ、チェック時に親要素であるtdにCSSを割り当てる方法
tableのtd内にあるcheckboxのクリック範囲を拡大させ、チェック時に親要素であるtdにCSSを割り当てる方法

tableのtd内にcheckboxを設置し、td部分をクリックすることでche ...

CSSを用いて可変(レスポンシブ)要素内での文字列を丸める方法
CSSを用いて可変(レスポンシブ)要素内での文字列を丸める方法

可変(レスポンシブ)要素内の文字を丸めたかった。いつもであればPHPのmb_st ...

Bootstrapよりも簡単でClassを付与する必要のないCSSフレームワーク「Simple.css」の利用方法
Bootstrapよりも簡単でClassを付与する必要のないCSSフレームワーク「Simple.css」の利用方法

何らかのテストページを提出する際、見た目を整えるためBootstrapを使用した ...

jQuery無しで要素にアニメーション効果を設定する方法(animate.css)
jQuery無しで要素にアニメーション効果を設定する方法(animate.css)

あるサイトをWappalyzerで調査していた際に「animate.css」とい ...