Widely available YES。主要ブラウザで広く対応済み。本番利用を推奨。

概要

:scopeは、CSSセレクターのスコープの基準となる要素(スコーピングルート)を選択する擬似クラスです。スタイルシートのトップレベルでは:rootと同等ですが、querySelector()のコンテキスト内やCSS @scopeルール内では呼び出し元の要素にマッチします。コンポーネントベースの開発で、スタイルの適用範囲を明確に制限する際に有用です。

対応ブラウザ

デスクトップ

Chrome 27+
Edge 79+
Safari 7+
Firefox 32+

モバイル

Chrome Android 27+
Safari iOS 7+
Firefox Android 32+

基本構文

CSS
@scope (.card) {
  :scope {
    border: 1px solid #ddd;
    padding: 16px;
  }
  :scope > h2 {
    margin-top: 0;
  }
}

実務での使いどころ

  • スコープ付きスタイルの基準指定

    @scopeルールやquerySelectorのコンテキストで、スコープの起点となる要素自体にスタイルを適用します。

注意点

  • グローバルスタイルシート内の:scopeは:rootと同等であり、特別なスコーピング効果はありません。

アクセシビリティ

  • :scopeによるスタイルの限定は視覚的な影響のみであり、DOMの構造やアクセシビリティツリーには影響しません。