トップページ > ブログ > 【SASS不要】CSSネストまとめ

BLOG

ブログ

UPDATE:2023.12.1

CATEGORY

【SASS不要】CSSネストまとめ


CSSネストとは


CSSを階層で記述することができます。

たとえば従来のCSSでは特定の要素に対してスタイルを適用したい時、以下のように記述する必要がありました。


div span {
color: #fff;
}


spanの要素に白を指定したいが、
全てのspanではなくdivの中に入っているものにのみ適用したい場合にこのように記述します。


しかしCSSネストを使えば記述を以下のようにできます。



CSSネストの記述例


div {
 span{
  color: #fff;
 }
}



疑似要素のCSSネスト

「:hover」「::after」などの疑似要素のネストは「&」を付けて記述します。



.section{
 & a{
  color: #f00;
   &:hover{
    color: #000;
   }
 }
}



ネストの利点はCSSの管理がわかりやすくなる(可読性が高くなる)・
同じ要素を繰り返し書かなくても良くなるといったところでしょうか。

少し前まではこのネストはSASS等のCSSプリプロセッサを利用しないと使えませんでしたが、
現在ほぼすべてのモダンブラウザでそれらを使わなくても素のCSSネストに対応しています。


CSSネスト 対応ブラウザ

ただし現在(記事執筆時点2023/11/24)では、CSSネストはSASSとは若干記述のルールが異なる点があります。



要素名のセレクタに適用させたい場合は & を付ける必要がある

「p」や「H1」などの要素名のセレクタに対してネストを適用させるには「&」を付ける必要があります。
(※2023/11/24執筆時点)



.section {
 & h1 {
  /* これは有効になる */
 }
}

.section {
 h1 {
  /* これは無効となる */
 }
}




しかし今後は上記のルールが改善されてより使いやすくなります。


Chrome 120 より、要素名のセレクタに対するネストの記述がより簡単に


SASSを使わずにCSSネストが使えるようになるのは大歓迎ではありましたが、
しかし要素名セレクタに対しては 「&」が必要な点が若干使いづらいと感じていた部分でした。


これについてChrome 120では改善されて、以下のような記述も有効になるとのことです。


.section {
 h1 {
  /* ここが有効になる */
 }
}


この変更によって、よりCSSネストが使いやすくなるのではないかと思います。


参考

Happiness in Design

シアワセをデザインする会社

営業ゼロで年間600件以上
お問い合わせをいただいている
ノウハウを惜しみなく。

アプリコットデザインには創業当初から営業マンはいません。
創業当初からWEBを活用することに重点を置いて、これまで試行錯誤してきました。その結果、年間600件以上の問い合わせををこのホームページから得ています。ホームページという集客ツールを提供している私たち自身が、自社のホームページで集客できないのでは、お客様に自信を持ってオススメすることはできません。自社の実験から「WEBを活用して集客するためのノウハウを蓄積」した上で、誰よりもホームページの素晴らしさを知り、自信をもってお客様にご提供していきたいと考えます。

VIEW MORE

CONTACT

お問い合わせ・ご相談は
お気軽にどうぞ。

tel.0120-622835

営業時間/10:00〜18:00 
定休日/土日祝日

プロジェクト

それぞれの
らしさ溢れる日常を。

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ/ドッグサロン/
ネイルサロン/スクール

tone village

We're open.

採用情報

recruit info

豊かで彩りのある社会をつくる!

私たちは仕事を通して、一人でも多くの人が未来に対する希望を描けるような、そんなワクワクする社会をつくっていきたいと思っています。

VIEW MORE