CSSカスケードと継承 レベル6

W3C作業草案,

この文書の詳細
このバージョン:
https://www.w3.org/TR/2024/WD-css-cascade-6-20240906/
最新公開バージョン:
https://www.w3.org/TR/css-cascade-6/
編集者草案:
https://drafts.csswg.org/css-cascade-6/
以前のバージョン:
履歴:
https://www.w3.org/standards/history/css-cascade-6/
フィードバック:
CSSWG課題リポジトリ
仕様内インライン
編集者:
Elika J. Etemad / fantasai (Apple)
Miriam E. Suzanne (招待専門家)
Tab Atkins Jr. (Google)
この仕様の編集提案:
GitHub エディター

概要

このCSSモジュールは、スタイル規則をまとめ、すべての要素のすべてのプロパティに値を割り当てる方法を説明します。カスケードと継承によって、すべてのプロパティの値がすべての要素に伝播されます。

このレベルで新しく追加されたのは、§ 2.5 スコープされたスタイル: @scope規則です。

CSSは、構造化文書(HTMLやXMLなど)のレンダリング方法を記述する言語です。画面や紙などで利用されます。

この文書のステータス

このセクションは、公開時点でのこの文書のステータスについて説明しています。 現在のW3C出版物の一覧や、この技術報告書の最新版は W3C技術報告書インデックス https://www.w3.org/TR/ にて確認できます。

この文書は CSS作業グループ により 作業草案として 勧告トラックを用いて公開されました。 作業草案としての公開は、W3Cおよびその会員による承認を意味しません。

この文書はドラフトであり、 随時更新・置き換え・廃止される可能性があります。 作業途中の文書として以外の用途で引用するのは不適切です。

フィードバックは GitHubで課題を提出(推奨)することでお願いします。 タイトルに仕様コード「css-cascade」を含めてください。例: “[css-cascade] …コメント要約…”。 すべての課題やコメントはアーカイブされています。 または、(アーカイブ) 公開メーリングリスト www-style@w3.org に送信してください。

この文書は 2023年11月3日W3Cプロセス文書に従って運用されています。

この文書は W3C特許ポリシーの下で活動するグループによって作成されました。 W3Cは、グループの成果物に関連して提出された特許開示の公開リストを管理しています。 そのページには特許開示の手順も記載されています。 特許の実際の知識を持つ個人は、必須請求項を含むと考える場合、 W3C特許ポリシー第6節に従って情報を開示する必要があります。

1. はじめにと未記載のセクション

これは CSSカスケードと継承レベル5に対する差分仕様です。 現在は試験的な作業草案です。 実装を行う場合は、レベル5を参考にしてください。 レベル5の本文は、CRに到達した時点でこの草案に統合されます。

2. カスケード

カスケードは、指定された要素の特定プロパティに対する宣言値の順不同リストを、下記で定義される宣言の優先順位で並べ替え、単一のカスケード値を出力します。

2.1. カスケードのソート順序

カスケードは宣言を、優先順位の高い順に次の基準で並べ替えます:

起源と重要度
宣言の起源は、その出所と重要度!importantで宣言されているかどうか)に基づきます(詳細は下記)。 各起源の優先順位は、次の通り高い順です:
  1. 遷移宣言 [css-transitions-1]
  2. 重要ユーザーエージェント宣言
  3. 重要ユーザー宣言
  4. 重要著者宣言
  5. アニメーション宣言 [css-animations-1]
  6. 通常著者宣言
  7. 通常ユーザー宣言
  8. 通常ユーザーエージェント宣言

このリストの早い順の起源の宣言が、後の起源の宣言より優先されます。

コンテキスト
文書言語は、異なるカプセル化コンテキストからの宣言の混合を提供できます。 例として、ツリーコンテキストシャドウツリー内)が該当します [DOM]

異なるカプセル化コンテキストからの2つの宣言を比較する場合、 通常の規則では外側コンテキストの宣言が優先し、 重要な規則では内側コンテキストの宣言が優先されます。 この目的のために、[DOM]ツリーコンテキストシャドウ含むツリー順としてネストされているとみなされます。

注: これは、通常の宣言が カプセル化コンテキストでデフォルト値を設定し、 外側コンテキストで容易に上書きできる一方で、 重要な宣言は カプセル化コンテキストで外側コンテキストから上書きできない要求を強制できることを意味します。

style属性
通常および重要宣言について、 要素に直接付与された宣言(例:style属性の内容) は、スタイル規則のセレクターで間接的にマッピングされた宣言よりも 同じ重要度で優先されます。
レイヤー
宣言は、各起源コンテキスト内で、 明示的にカスケードレイヤーに割り当てられます。 この段階では、明示的なレイヤーに割り当てられていない宣言は暗黙の最終レイヤーに追加されます。

カスケードレイヤー(宣言と同様)は登場順で並べられます。 詳細は§ 2.4.1 レイヤー順序を参照。 異なるレイヤーに属する宣言を比較するとき、 通常の規則では、レイヤー順で最も後のカスケードレイヤーの宣言が優先され、 重要な規則では、最も前のカスケードレイヤーの宣言が優先されます。

注: これは通常および重要起源の優先順位の論理と同じです。 !importantフラグは両方の設定で「上書き」目的を維持します。

詳細度
Selectorsモジュール [SELECT]は セレクターの詳細度の計算方法を説明しています。 各宣言は、そのスタイル規則の詳細度と同じ詳細度を持ちます。 詳細度が最も高い宣言が優先されます。
スコープ近接性
異なるスコープルートを持つスタイル規則に現れる宣言を比較するとき、 スコープルートからスコープ付きスタイル規則主題までの世代または兄弟要素のホップ数が最も少ない宣言が優先されます。 この目的のため、スコープルートがないスタイル規則は無限の近接ホップとみなされます。
出現順
文書順で最後に現れる宣言が優先されます。 この目的のため:
  • スタイルシートは最終CSSスタイルシートの順序で並べられます。
  • importされたスタイルシートの宣言は、スタイルシートが@import規則の位置に置き換えられたかのように順序付けされます。
  • 文書によって独立してリンクされたスタイルシートの宣言は、ホスト文書言語の決定によるリンク順で連結されたかのように扱われます。
  • style属性による宣言は、style属性が現れる要素の文書順に並べられ、全てのスタイルシートの後に配置されます。 [CSSSTYLEATTR]

カスケードの出力は、各要素の各プロパティに対する宣言値の(空の場合もある)ソート済みリストです。

2.2. カスケードの起源

CSS Cascading 5 § 6.2 カスケードの起源

カスケード起源

2.3. 重要な宣言: !important注釈

CSS Cascading 5 § 6.3 重要な宣言: !important注釈

重要 通常

2.4. カスケードレイヤー

CSS Cascading 5 § 6.4 カスケードレイヤー

2.4.1. レイヤーの順序

CSS Cascading 5 § 6.4.3 レイヤーの順序

2.5. スコープされたスタイル: @scope規則

スコープは、文書のサブツリーやフラグメントであり、セレクターによるよりターゲットを絞ったマッチングに利用できます。 スコープは次の判定により形成されます:

要素がスコープ内であるのは、次の場合です:

注: シャドウカプセル化は、 DOM内のシャドウホストとネストしたシャドウツリーの1対1の関係を永続的に記述しますが、 スコープは同じ要素に対して複数・重複して定義可能です。

スコープスタイルはCSSで @scope ブロック型at-ルールで記述されます。 これは、スコープルートおよび任意のスコープ制限を、スタイル規則のセットと紐付けて宣言します。

例えば、 著者は広範囲なカラースキームスコープを持ち、より狭いスコープのデザインパターン(例:メディアオブジェクト)と重複させることができます。 @scope規則内のセレクターは スコープルートと任意のスコープ制限要素を確立し、 ネストしたセレクターは 結果となるスコープ内の要素のみをマッチします:
@scope (.light-scheme) {
  /* light-scheme内のリンクのみマッチ */
  a { color: darkmagenta; }
}

@scope (.dark-scheme) {
  /* dark-scheme内のリンクのみマッチ */
  a { color: plum; }
}

@scope (.media-object) {
  /* media-object内の著者画像のみマッチ */
  .author-image { border-radius: 50%; }
}
スコープ制限を提供することで、 著者はより深くネストした子孫へのマッチングを制限できます。 例えば:
@scope (.media-object) to (.content > *) {
  img { border-radius: 50%; }
  .content { padding: 1em; }
}

imgセレクターは、DOMフラグメント内で.media-objectから始まり、 .contentクラスの子要素までのすべての子孫に含まれる画像タグのみをマッチします。

スコープセレクターの定義にスコープ制限を追加すべきか?

2.5.1. @scopeの効果

@scope at-ルールは、 内包するスタイル規則に対して主に3つの効果があります:

注: ネスティングとは異なり、 @scope規則内のセレクターは @scope前置の親セレクターの詳細度を継承しません。

次のセレクターは同じ詳細度(0,0,1)です:
@scope (#hero) {
  img { border-radius: 50%; }
}

:where(#hero) img { border-radius: 50%; }

#heroセレクターの追加詳細度は スコープ付きセレクターの詳細度には加算されません。 しかし、 一方の img セレクターはスコープされているため、 スコープ近接性の適用によって カスケードでより強く重み付けされます。

既存の多くのツールは「スコープ付きスタイル」を、 対象のスコープや「シングルファイルコンポーネント」内のすべての要素に 一意なクラスや属性を付与することで実現しています。 この例では2つのスコープ (main-componentsub-component) があり、data-scope属性によって すべての要素が一方または両方のスコープに属すようマークされています:
<section data-scope="main-component">
  <p data-scope="main-component">...<p>

  <!-- sub-component root is in both scopes -->
  <section data-scope="main-component sub-component">
    <!-- children are only in the inner scope -->
    <p data-scope="sub-component">...<p>
  </section>
</section>

これらのカスタムスコープ属性は CSSのすべてのセレクターに付与されます:

p[data-scope~='main-component'] { color: red; }
p[data-scope~='sub-component'] { color: blue; }

/* 両方のsectionは外側スコープに属する */
section[data-scope~='main-component'] { background: snow; }

/* 内側sectionは内側スコープにも属する */
section[data-scope~='sub-component'] { color: ghostwhite; }

@scope規則を使うことで、 著者やツールは 一意な属性やクラスを スコープルートのみに付与する同様の挙動を再現できます:

<section data-scope="main-component">
  <p>...<p>
  <section data-scope="sub-component">
    <p>...<p>
  </section>
</section>

このクラスや属性は、 上限・下限の両方の境界設定に利用できます。 下限セレクターにマッチした要素は 結果のスコープから除外されるため、 著者はデフォルトで重複しないスコープを作成できます:

@scope ([data-scope='main-component']) to ([data-scope]) {
  p { color: red; }

  /* 外側sectionのみが外側スコープに属する */
  section { background: snow; }
}

@scope ([data-scope='sub-component']) to ([data-scope]) {
  p { color: blue; }

  /* 内側sectionのみが内側スコープに属する */
  section { color: ghostwhite; }
}

ただし、著者は子孫結合子やユニバーサルセレクターを使って 境界が重複するスコープも作成でき、 内側スコープルートが両方のスコープに属するようにできます:

@scope ([data-scope='main-component']) to ([data-scope] > *) {
  p { color: red; }

  /* 両方のsectionが外側スコープに属する */
  section { background: snow; }
}

2.5.2. @scopeの構文

@scope規則の構文:

@scope [(<scope-start>)]? [to (<scope-end>)]? {
  <rule-list>
}

各項目の意味:

疑似要素スコープルートスコープ制限にはできません。 それらは<scope-start><scope-end>で無効です。

2.5.3. スコープ付きスタイル規則

スコープ付きスタイル規則は、 非スコープ規則と次の点で異なります:

デフォルトではスコープ付きスタイル規則内のセレクターは相対セレクターであり、 スコープルート子孫結合子が先頭に暗黙的に追加されます。 次のセレクターは同じ要素をマッチします:
@scope (#my-component) {
  p { color: green; }
  :scope p { color: green; }
}

著者は明示的結合子を追加して暗黙的な関係を調整できます:

@scope (#my-component) {
  > p { color: green; }
  :scope > p { color: green; }
}

著者はセレクター内で スコープルートを明示的にターゲットにしたり配置したりできます。 そのためには:scope&をセレクターに含めます:

@scope (#my-component) {
  :scope { border: thin solid; }
  & { border: thin solid; }

  main :scope p { color: green; }
  main & p { color: green; }
}

:scope&セレクターは どちらもスコープルートを指すことができますが、 この文脈では意味が異なります:

セレクターマッチングの違い

:scopeセレクターはスコープルート自身のみをマッチし、 &セレクターは <scope-start>セレクターリストでマッチする任意の要素を指すことができます。

セレクター詳細度の違い

:scopeセレクターは他の疑似クラスと同じ詳細度を持ち、 &セレクターは <scope-start>内で最も詳細度が高いセレクターと同じ詳細度を持ちます。

2.5.4. スコープルートと制限の特定

@scope 規則は、以下の方法で1つ以上のスコープを生成します:

スコープルートの検索

<scope-start>でマッチした各要素について、 その要素をスコープスコープルートとして使用してスコープを作成します。 <scope-start>が指定されていない場合、 スコープルートは、スタイルシートの所有ノードの親要素となります。 (owner nodeがどこで@scope規則が定義されているか) そのような要素が存在せず、包含するノードツリーシャドウツリーの場合は、 スコープルートシャドウホストとなります。 それ以外の場合は、スコープルートは包含するノードツリールートとなります。 <scope-start>内の :scope&は、 外側コンテキストの定義に従って解釈されます。

スコープ制限の検索

スコープルートによって作成された各スコープに対して、 そのスコープ制限は、 スコープ内<scope-end>にマッチするすべての要素に設定されます。 :scope&は、スコープ付きスタイル規則と同様に解釈されます。

著者は style 要素に対して<scope-start>セレクターを省略することでローカルスコープを設定できます。 例:
<div>
  <style>
    @scope {
      p { color: red; }
    }
  </style>
  <p>this is red</p>
</div>
<p>not red</p>

これは以下と同等です:

<div id="foo">
  <style>
    @scope (#foo) {
      p { color: red; }
    }
  </style>
  <p>this is red</p>
</div>
<p>not red</p>
スコープ制限:scope 疑似クラスを使うことで スコープルートとの特定の関係を指定できます:
/* .contentは:scopeの直接の子のときのみ制限になる */
@scope (.media-object) to (:scope > .content) { ... }

スコープ制限スコープルートの外側の要素を :scopeで参照することもできます。 例:

/* .contentは:scopeが.sidebar内にあるときのみ制限になる */
@scope (.media-object) to (.sidebar :scope .content) { ... }

2.5.5. スコープのネスト

@scope 規則はネスト可能です。 この場合、ネストしたスタイル規則と同様に、 内側の@scopeスコープを定義するもの)の前置セレクターは 外側のセレクターでスコープされます。

注: さらにネストしたスコープ付きスタイル規則のための スコープは、 実際には外側と内側両方の@scope規則によって制約されますが、 スコープルートは最も内側の@scopeによって定義されます。 スコープ近接性スコープ付きスタイル規則主題スコープルートの間で測定されるため、 ネストした@scope規則のスコープ近接性の判定には最も内側の@scopeのみが関係します。

スコープ近接性の計算はネストしたスコープで影響を受けるべきか? [Issue #10795]

@scope規則を他の@scope規則や他のセレクター内にネストするとき、 <scope-start>セレクターはネスティングコンテキストに相対し、 <scope-end>スコープ付きスタイル規則スコープルートに対して相対的になります。例えば次のコード:
@scope (.parent-scope) {
  @scope (:scope > .child-scope) to (:scope .limit) {
    :scope .content {
      color: red;
    }
  }
}

は以下と同等です:

@scope (.parent-scope > .child-scope) to (.parent-scope > .child-scope .limit) {
  .parent-scope > .child-scope .content {
    color: red;
  }
}

グローバルな名前定義at-ルール(例:@keyframes@font-face@layerなど) が@scope内で定義されても有効ですが、 囲まれた@scope規則によってスコープされたり影響を受けたりすることはありません。 ただし、そうしたルール内に含まれるスタイル規則(例:@layer内)は スコープされます

2.6. 非CSS提示ヒントの優先順位

CSS Cascading 5 § 6.4 カスケードレイヤー

3. CSSOM

3.1. CSSScopeRuleインターフェイス

CSSScopeRule インターフェイスは@scope規則を表します:

[Exposed=Window]
interface CSSScopeRule : CSSGroupingRule {
  readonly attribute CSSOMString? start;
  readonly attribute CSSOMString? end;
};
startCSSOMString
start属性は、規則の<scope-start>(括弧を除く)をシリアライズした結果、または<scope-start>がない場合はnullを返します。
endCSSOMString
end属性は、規則の<scope-end>(括弧を除く)をシリアライズした結果、または<scope-end>がない場合はnullを返します。

4. 変更点

この付録は参考です。

4.1. 2023年3月21日作業草案以降の変更点

2023年3月21日作業草案以降の主な変更点:

4.2. 2021年12月21日最初の公開作業草案以降の変更点

2021年12月21日最初の公開作業草案以降の主な変更点:

4.3. レベル5以降の追加事項

レベル5以降に追加された機能:

4.4. レベル4以降の追加事項

レベル4以降に追加された機能:

4.5. レベル3以降の追加事項

レベル3以降に追加された機能:

4.6. レベル2以降の追加事項

レベル2以降に追加された機能:

謝辞

David Baron、 Tantek Çelik、 Keith Grant、 Giuseppe Gurgone、 Theresa O’Connor、 Florian Rivoal、 Noam Rosenthal、 Simon Sapin、 Jen Simmons、 Nicole Sullivan、 Lea Verou、 そして Boris Zbarsky が本仕様に貢献しました。

5. プライバシーに関する考慮事項

6. セキュリティに関する考慮事項

適合性

文書の慣例

適合性要件は、記述的主張とRFC 2119用語の組み合わせで表現されます。規範的な部分で使用される「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「MAY」「OPTIONAL」などのキーワードは、RFC 2119で説明されているように解釈してください。ただし、可読性のため、これらの語は本仕様書内ですべて大文字表記にはなっていません。

本仕様書の本文は、非規範的である旨が明記されたセクション、例、注記を除き、すべて規範的です。 [RFC2119]

本仕様書の例は「例えば」などの語で導入されるか、 class="example" を用いて規範文から区分されます。例:

これは参考例です。

参考注記は「注」と始まり、 class="note" で規範文から区別されます。例:

注: これは参考注記です。

勧告事項は特別な注意を喚起するようにスタイルされた規範セクションであり、他の規範文から <strong class="advisement"> で区分されます。例: UAはアクセシブルな代替手段を必ず提供しなければなりません。

適合性クラス

本仕様書への適合性は、次の3つの適合性クラスで定義されます:

スタイルシート
CSSスタイルシート
レンダラー
UA。スタイルシートのセマンティクスを解釈し、それを利用する文書を描画する。
オーサリングツール
UA。スタイルシートを作成する。

スタイルシートは、このモジュールで定義された構文を使用するすべての記述が、汎用CSS文法およびこのモジュールで定義される各機能の個別文法に従い有効であれば、本仕様に適合しているとみなされます。

レンダラーは、スタイルシートを適切な仕様に従い解釈することに加え、本仕様が定義するすべての機能を正しくパースし、文書を適切にレンダリングすることで本仕様に適合します。ただし、デバイスの制限により文書を正しくレンダリングできない場合でも、UAが不適合とみなされるわけではありません。(例: UAはモノクロモニターで色を描画する必要はありません。)

オーサリングツールは、汎用CSS文法およびこのモジュールの各機能の個別文法に正しく従ったスタイルシートを書き、本モジュールで定義されるスタイルシートのその他すべての適合性要件を満たす場合、本仕様に適合しているとみなされます。

部分的な実装

著者がフォールバック値を設定できるよう、CSSレンダラーは、サポート可能なレベルがないat-ルール、プロパティ、プロパティ値、キーワード、その他の構文要素を無効として(および適切に無視)扱わなければなりません。 特に、ユーザーエージェントは、未サポートの値のみを選択的に無視して、サポートされる値のみをマルチ値プロパティ宣言で適用してはなりません。 いずれかの値が無効(未サポート値がそうであるように)と判断された場合、CSSの仕様により宣言全体を無視する必要があります。

不安定および独自機能の実装

今後の安定CSS機能との競合を避けるため、CSSWGはベストプラクティスに従い、 不安定機能や独自拡張の実装を推奨します。

非実験的実装

仕様がCandidate Recommendation(CR)段階に達した場合、非実験的な実装が可能となり、 実装者は、仕様通りに正しく実装できていることを示せるCRレベルの機能について、プレフィックスなしの実装をリリースすべきです。

CSSの相互運用性を確立・維持するため、CSS作業グループは、非実験的CSSレンダラーがCSS機能のプレフィックスなし実装をリリースする前に、 実装報告書(必要に応じて実装報告書のために用いたテストケースも)をW3Cに提出することを要請します。W3Cに提出されたテストケースはCSS作業グループによる審査・修正の対象となります。

テストケース・実装報告書の提出方法等については、CSS作業グループのウェブサイト https://www.w3.org/Style/CSS/Test/ を参照してください。 質問は public-css-testsuite@w3.org メーリングリストにお送りください。

索引

本仕様で定義される用語

参照による定義用語

参考文献

規定参考文献

[CSS-ANIMATIONS-1]
David Baron 他. CSS Animations Level 1. 2023年3月2日. WD. URL: https://www.w3.org/TR/css-animations-1/
[CSS-CASCADE-4]
Elika Etemad; Tab Atkins Jr.. CSS カスケードと継承 レベル4. 2022年1月13日. CR. URL: https://www.w3.org/TR/css-cascade-4/
[CSS-CASCADE-5]
Elika Etemad; Miriam Suzanne; Tab Atkins Jr.. CSS カスケードと継承 レベル5. 2022年1月13日. CR. URL: https://www.w3.org/TR/css-cascade-5/
[CSS-CONDITIONAL-5]
Chris Lilley; David Baron; Elika Etemad. CSS 条件ルールモジュール レベル5. 2024年7月23日. WD. URL: https://www.w3.org/TR/css-conditional-5/
[CSS-FONTS-5]
Chris Lilley. CSS フォントモジュール レベル5. 2024年2月6日. WD. URL: https://www.w3.org/TR/css-fonts-5/
[CSS-NESTING-1]
Tab Atkins Jr.; Adam Argyle. CSS ネスティングモジュール. 2023年2月14日. WD. URL: https://www.w3.org/TR/css-nesting-1/
[CSS-SCOPING-1]
Tab Atkins Jr.; Elika Etemad. CSS スコープモジュール レベル1. 2014年4月3日. WD. URL: https://www.w3.org/TR/css-scoping-1/
[CSS-SYNTAX-3]
Tab Atkins Jr.; Simon Sapin. CSS 構文モジュール レベル3. 2021年12月24日. CR. URL: https://www.w3.org/TR/css-syntax-3/
[CSS-TRANSITIONS-1]
David Baron 他. CSS トランジション. 2018年10月11日. WD. URL: https://www.w3.org/TR/css-transitions-1/
[CSS-VALUES-3]
Tab Atkins Jr.; Elika Etemad. CSS 値と単位 モジュール レベル3. 2024年3月22日. CR. URL: https://www.w3.org/TR/css-values-3/
[CSS21]
Bert Bos 他. カスケーディングスタイルシート レベル2 リビジョン1 (CSS 2.1) 仕様書. 2011年6月7日. REC. URL: https://www.w3.org/TR/CSS21/
[CSSOM-1]
Daniel Glazman; Emilio Cobos Álvarez. CSSオブジェクトモデル (CSSOM). 2021年8月26日. WD. URL: https://www.w3.org/TR/cssom-1/
[CSSSTYLEATTR]
Tantek Çelik; Elika Etemad. CSSスタイル属性. 2013年11月7日. REC. URL: https://www.w3.org/TR/css-style-attr/
[DOM]
Anne van Kesteren. DOM標準. Living Standard. URL: https://dom.spec.whatwg.org/
[FETCH]
Anne van Kesteren. Fetch標準. Living Standard. URL: https://fetch.spec.whatwg.org/
[RFC2119]
S. Bradner. RFCで要求レベルを示すためのキーワード. 1997年3月. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119
[SELECT]
Tantek Çelik 他. セレクター レベル3. 2018年11月6日. REC. URL: https://www.w3.org/TR/selectors-3/
[SELECTORS-4]
Elika Etemad; Tab Atkins Jr.. セレクター レベル4. 2022年11月11日. WD. URL: https://www.w3.org/TR/selectors-4/
[WEBIDL]
Edgar Chen; Timothy Gu. Web IDL標準. Living Standard. URL: https://webidl.spec.whatwg.org/

参考情報源

[HTML]
Anne van Kesteren 他. HTML標準. Living Standard. URL: https://html.spec.whatwg.org/multipage/

IDL索引

[Exposed=Window]
interface CSSScopeRule : CSSGroupingRule {
  readonly attribute CSSOMString? start;
  readonly attribute CSSOMString? end;
};

課題索引

これは CSSカスケードと継承レベル5 に対する差分仕様です。 現在は試験的な作業草案です。 実装を行う場合はレベル5を参考にしてください。 レベル5の本文は、CRに到達した時点でこの草案に統合されます。
CSSカスケード5 § 6.2 カスケードの起源
CSSカスケード5 § 6.3 重要な宣言: !important注釈
CSSカスケード5 § 6.4 カスケードレイヤー
CSSカスケード5 § 6.4.3 レイヤー順序
スコープ制限を スコープセレクターの定義に追加すべきか?
スコープ近接性の計算はネストしたスコープで影響を受けるべきか? [Issue #10795]
CSSカスケード5 § 6.4 カスケードレイヤー