Newly available YES。Baseline Widely available。ビルドツール不要でそのまま使える。

概要

Sass や Less でしか使えなかったネスト記法がブラウザネイティブのCSSで利用可能になった。コンポーネント単位でスタイルをまとめやすくなり、セレクターの繰り返しを大幅に削減できる。

対応ブラウザ

デスクトップ

Chrome 120+
Edge 120+
Safari 17.2+
Firefox 117+

モバイル

Chrome Android 120+
Safari iOS 17.2+
Firefox Android 117+

基本構文

CSS
.card {
  padding: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 8px;

  & .title {
    font-size: 1.25rem;
    font-weight: bold;
  }

  & .body {
    color: #4b5563;
    line-height: 1.6;
  }

  &:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  @media (width >= 768px) {
    display: grid;
    grid-template-columns: auto 1fr;
  }
}

実務での使いどころ

  • コンポーネントスコープのスタイル

    コンポーネントのスタイルをネストでグループ化し、関連するルールを一箇所にまとめる。保守性が向上。

  • ビルドツール不要のネスト

    Sass・PostCSS なしでネスト記法を使用。開発環境のセットアップが簡素化される。

注意点

  • ネストが深くなりすぎると可読性が低下する。3〜4階層以内に抑える。
  • 初期仕様では要素セレクターの直接ネストに & が必要だったが、最新仕様では省略可能なケースが増えている。

アクセシビリティ

  • ネスト構文はスタイルの書き方のみに影響し、アクセシビリティに直接影響しない。ただし、複雑なネストで意図しないスタイルが適用されないよう注意。