1. 概論
最初のCSS仕様が公開されたときに、CSSのすべては、CSSレベル1を定義した1つの文書に含まれていました。CSSレベル2はまた、複数の章からなる単独の文書によって定義されていました。しかし、レベル2を超えるCSSに対して、CSSワーキンググループは、単一のモノリシックな仕様を定義するよりもむしろ、各モジュールがCSSのある部分を定義することで、モジュール式のアプローチを採用することにしました。これは、より管理しやすい塊に仕様を分割し、CSSへのより直接的で、漸進的な改善を可能にします。
種々のCSSモジュールは安定性の異なるレベルにあるため、CSSワーキンググループは、2017年中ごろ現在でカスケーディングスタイルシートの現在の範囲と状態を定義するために、このプロファイルを公開することを選択しました。このプロファイルは、我々が安定性を検討し、かつ我々がその安定性を保証する十分な実装経験を持つ仕様のみが含まれます。
注:これは、CSSデスクトップブラウザーのプロファイルであることを意図しません。このプロファイルに含まれるものは、機能の安定性にのみ基づき、予想される用途やウェブブラウザーの採用に基づきません。このプロファイルは、最も完全な形でCSSを定義します。
注:我々は、このスナップショットを形成する仕様に大きな変更を予想しませんが、包含する仕様は、仕様が固まっていることを意味するものではありません。CSSワーキンググループは、仕様で見つかる問題に対処し続けます。実装者は、任意の変更、修正、または明確化に対してwww-styleおよび/またはCSS Working Group Blogを監視すべきです。
1.1. 背景:W3CプロセスとCSS
この節は非規範的です。
W3Cプロセスにおいて、勧告トラック文書は以下にまとめられる、安定性の3つのレベルを通過します:
- 草案(Working Draft: WD)
-
これは、W3C仕様の設計段階です。ワーキンググループは、内部および外部のフィードバックに応えて仕様を繰り返し発行します。
最初の公式作業草案は、「最初の公開草案」(First Public Working Draft: FPWD)に指定されます。CSSワーキンググループにおいて、FPWDの発行は、ワーキンググループ全体が、編集者草案で大まかに調べられ提案されたように、モジュールで作業することに合意したことを示します。
次の段階への移行は時に「最終作業草案」(Last Call Working Draft: LCWD)段階と呼ばれます。一旦我々がすべての既知の問題を解決してCSSワーキンググループは作業草案を移行し、テストの構築と実装からフィードバックなしにさらにプロセスを進めることができません。
この「コメントに対するラストコール」は、任意の未解決の問題を報告するための期限を設定し、入ってくるフィードバックを特別に追跡して対処することをワーキンググループに要求します。コメント追跡文書は、コメントの解決(Disposition of Comments: DoC)です。これは、広いレビューと支持を実証するために、ディレクターの承認に対する更新された草案と一緒に提出されます。
- 勧告候補(Candidate Recommendation: CR)
-
これは、W3C仕様のテスト段階です。とりわけこの段階は、仕様をテストするために試験と実装を使用するということを意味します。実装をテストすることが目的ではありません。このプロセスは多くの場合、仕様についてより多くの問題を明らかにし、そして勧告候補は、通常設計段階(草案)時よりも少ないにもかかわらず、実装とテストのフィードバックに応じて時間をかけて変化させます。
各機能の2つの正しい、独立している実装の実演は、勧告候補を終了するのに必要なので、この段階でワーキンググループはテストスイートを作成して実装のレポートを生成します。
次の段階への移行は、「勧告案」(Proposed Recommendation: PR)です。この段階の間にW3C諮問委員会は、勧告への移行を承認しなければなりません。
- 勧告(Recommendation: REC)
- これは、W3C仕様の完成した状態であり、メンテナンス段階を表します。この時点で草案は、エラッタ文書を維持し、仕様に戻るエラッタを組み込む更新版を折に触れて発行します。
編集者草案(Editor’s Draft)は、効果的に編集者自身の作業コピーのライブコピーです。編集者草案は、ワーキンググループのコンセンサスを反映してもしなくてもよく、折に触れて自己矛盾した状態にすることができます。(W3Cでの公開プロセスは時間がかかり面倒なので、編集者草案は通常、仕様に対する最善の(最新の)基準です。公式草案が定期的に最新でありそして編集者草案がスクラッチスペースとしての本来の機能に戻ることができるように、試みは発行の衝突を低減するために現在進行中です。)
2. Cascading Style Sheets (CSS) — 公式の定義
2017年現在で、カスケーディングスタイルシート(CSS)は、次の仕様によって定義されます。
- CSS Level 2、最新のリビジョン(エラッタを含む)[CSS2]
- これは、後の仕様によって上書きされる部分の、CSSの中核を定義します。我々は、CSSの基本的な概念とその設計原理の一部を紹介する、2章を読むことを特に推奨します。
- CSS Syntax Level 3 [CSS-SYNTAX-3]
- どのようにCSSが解析されるかを定義する、CSS2§4.1、CSS2§4.1、CSS2§4.2、CSS2§4.4およびCSS2§Gを置換します。
- CSS Style Attributes [CSS-STYLE-ATTR]
- CSS宣言をマークアップ属性に埋め込むことを可能にする方法を定義します。
- Media Queries Level 3 [CSS3-MEDIAQUERIES]
- CSS2§7.3を置換し、メディア固有のスタイルに対する構文を拡張します。
- CSS Conditional Rules Level 3 [CSS3-CONDITIONAL]
- ネストを可能にするために@media規則の定義を更新し、CSS2§7.2を置換し、機能サポートクエリーに対する@supports規則を導入します。
- CSS Namespaces [CSS3-NAMESPACE]
- 名前空間接頭辞のセレクタを可能にするための@namespace規則を導入します。
- Selectors Level 3 [SELECT]
- 拡張されたセレクタの範囲を定義する、CSS2§5とCSS2§6.4.3を置換します。
- CSS Cascading and Inheritance Level 3 [CSS-CASCADE-3]
- CSS2§1.4.3とCSS2§6を置換します
- CSS Values and Units Level 3 [CSS-VALUES-3]
- CSSのプロパティ定義構文を定義して単位のセットを拡張する、CSS2§1.4.2.1、CSS2§4.3、およびCSS2§A.2.1-3を置換します。
- CSS Color Level 3 [CSS3-COLOR]
- 色値の拡張した範囲を定義する、CSS2§4.3.6、CSS2§14.1、およびCSS2§18.2を置換します。また、opacityプロパティを導入します。
- CSS Backgrounds and Borders Level 3 [CSS3-BACKGROUND]
- 層状の背景画像、画像ボーダー、およびドロップシャドウ含む、背景とボーダーのより多くの制御を提供し、CSS2§8.5とCSS2§14.2を置換します。
- CSS Image Values and Replaced Content Level 3 [CSS3-IMAGES]
- (画像など)置換要素の大きさに対する新しい土台テキストを提供し、その大きさと向きに追加のコントロールを追加し、CSSの画像としてグラデーションの構文を導入します。
- CSS Fonts Level 3 [CSS-FONTS-3]
- CSS2§15を置換し、フォントの選択と機能選択をより詳細な制御を提供します。
- CSS Multi-column Layout Level 1 [CSS3-MULTICOL]
- CSSレイアウトに多層カラムフローを導入します。
- CSS User Interface Module Level 3 [CSS-UI-3]
- またユーザーインターフェイスをまた強化するcursor、outlineと複数の新しいユーザーインターフェイスを定義する、CSS2§18.1とCSS2§18.4を置換します。
- CSS Compositing and Blending Level 1 [COMPOSITING]
- オーバーレイされたコンテンツの合成や混合を定義し、それらのモードを制御するための機能を導入します。
- CSS Writing Modes Level 3 [CSS-WRITING-MODES-3]
- 左から右(たとえば、ラテン語またはインド語)、右から左(たとえば、ヘブライ語またはアラビア語)、双方向(たとえば、ラテン語およびアラビア語の混合)および縦(たとえば、アジアの文字)など、さまざまな国際的な書字モードのためのCSSサポートを定義します。
- CSS Transitions Level 1 [CSS3-TRANSITIONS]およびCSS Animations Level 1 [CSS3-ANIMATIONS]
- 時間をかけてCSSプロパティの算出値を推移するためのメカニズムを定義します。
- CSS Flexible Box Module Level 1 [CSS-FLEXBOX-1]
- CSSに柔軟な直線レイアウトモデルを導入します。
- CSS Transforms Level 1 [CSS3-TRANSFORMS]
- CSSにグラフィカルな変換を導入します。
- CSS Custom Properties for Cascading Variables Module Level 1 [CSS-VARIABLES-1]
- すべてのCSSプロパティで受け入れられる新しいプリミティブ値の型と、そのCSSプロパティを定義するためのカスタムプロパティとしてカスケード変数を導入します。
- CSS Text Module Level 3 [CSS-TEXT-3]
- テキスト操作のプロパティを定義し、その処理モデルを指定します。これは、改行、行端揃えと整列、空白の処理、およびテキスト変換を取り扱います。
- CSS Counter Styles Level 3 [CSS-COUNTER-STYLES-3]
- <counter-style>の可能な値を拡張し、カスタマイズされたカウンタースタイルに@counter-style構文を提供します。
- CSS Masking Level 1 [CSS-MASKING-1]
- CSS2§11.1.2を置換し、コンテンツの切り抜きやマスキングのより強力な方法を導入します。
- CSS Shapes Module Level 1 [CSS-SHAPES-1]
- 非矩形を包む形状をもたらすためのフロートを拡張します。
- CSS Text Decoration Level 3 [CSS-TEXT-DECOR-3]
- テキスト装飾ラインにより詳細な制御を提供し、テキスト圏点とテキストシャドウを指定するための機能を追加する、CSS2§16.3を置換します。
- CSS Will Change Level 1 [CSS-WILL-CHANGE-1]
- will-changeと呼ばれるパフォーマンスヒントのプロパティを導入します。
- CSS Speech Module Level 1 [CSS3-SPEECH]
- (非規範的な)音声レンダリングの章を見直し、CSS2§Aを置換します。
- CSS Box Alignment Module Level 3 [CSS-ALIGN-3]
- ブロックレイアウト、テーブルレイアウト、フレックスレイアウト、グリッドレイアウトなど、さまざまなCSSボックスレイアウトモデルにおける、コンテナ内のボックスの配置に関するCSSの機能を含みます。
- CSS Grid Layout Module Level 1 [CSS-GRID-1]
- ユーザーインターフェイス設計に最適化された、2次元グリッドベースのレイアウトシステムを定義します。グリッドレイアウトモデルにおいて、グリッドコンテナの子は、定義済みのフレキシブルまたは固定サイズのレイアウトグリッド内の任意のスロットに配置することができます。
- Filter Effects Module Level 1 [FILTER-EFFECTS-1]
- フィルターエフェクトは、文書に表示される前に要素のレンダリングを処理する方法です。
- CSS Fragmentation Module Level 3 [CSS-BREAK-3]
- フローをページ、列、または領域に分割するフラグメンテーションモデルについて説明します。
将来のスナップショットにそれらを組み込むことを希望します。
すべてのCSSモジュール、安定か進行中、およびモジュールのステータスのリストは、CSS Current Work pageで見つけることができます。
2.1. CSSのレベル
Cascading Style Sheetsは、従来の意味におけるバージョンを持ちません。代わりに、レベルを持ちます。CSSの各レベルは、定義を精錬して機能を追加する、前のレベルに基づきます。各上位レベルの機能セットは、任意の下位レベルのスーパーセットであり、上位レベルで特定の機能を許可される動作は、下位レベルで許可されるもののサブセットです。よってCSSの上位レベルに適合するユーザーエージェントはまた、すべての下位レベルに適合します。
- CSS Level 1
- CSSワーキンググループは、CSS1仕様が時代遅れであると考えます。CSSレベル1は(プロパティ、値、@規則など)CSS1仕様で定義されるすべての機能として定義されますが、CSS2.1仕様における構文と定義を使用します。CSSスタイル属性は、要素固有のスタイル属性で包含物を定義します。
- CSS Level 2
-
CSS2仕様は技術的にW3C勧告ですが、W3Cが勧告候補の段階を定義する前に、CSS2は勧告段階に移行しました。時間をかけての実装経験とさらなるレビューは、CSS2仕様で多くの問題を表面化させ、既に手に負えないエラッタリストを拡充する代わりに、CSSワーキンググループは、CSSレベル2リビジョン1(CSS2.1)を定義することにしました。2つの仕様の間に矛盾がある場合にはCSS2.1が最終的な定義を含みます。
CSS2の廃止されたCSS2勧告として正式に安定性の同じレベルでないにもかかわらず、一度CSS2.1が勧告候補になれば効果を持ちます。CSS2.1から削除されたCSS2の機能は、勧告候補の段階にあると考えられますが、これらの多くはCSSレベル3草案に引き込まれることに注意すべきです。その場合にその仕様が一度勧告候補に到達すれば、CSS2の定義は廃止されます。
CSS2.1仕様はCSSレベル2を定義し、CSSスタイル属性仕様は要素固有のスタイル属性での包含物を定義します。
- CSS Level 3
-
CSSレベル3は、CSS2.1の核としてCSS2.1仕様を使用する、CSSレベル2モジュールごとに基づきます。各モジュールは、機能を追加および/またはCSS2.1仕様の一部を置換します。新しいCSSモジュールがCSS2.1仕様と矛盾しないことをCSSワーキンググループは意図します。モジュールは単に機能を追加して、定義を洗練します。各モジュールが完了するように、以前に完了したモジュールに加えるCSS2.1の既存のシステムに埋め込まれます。
これ以降のモジュールレベルは、独立してレベル付けされます。たとえばSelectors Level 4は、CSS Line Module Level 3の前に完了してもよいです。CSSレベル2に等価なものがないモジュールは、レベル1で開始します。CSSレベル2に存在する機能を更新するモジュールは、レベル3で開始します。
- CSS Level 4以降
- CSSレベル4は存在しません。独立したモジュールはレベル4以降に到達することができますが、CSS言語はもはやレベルを持ちません。(用語としての「CSSレベル3」は、以前のモノリシックバージョンからレベルを区別するためにのみ使用されます。)
2.2. CSSプロファイル
すべての実装が、CSSで定義されるすべての機能を実装するとは限りません。たとえば、実装はCSSプロファイルで必要とされる機能のみを実装することを選択してもよいです。プロファイルは、CSS実装の特定のクラスに対する基本的な考えCSSの考慮された基本のサブセットを定義します。W3C CSSワーキンググループは、次のCSSプロファイルを定義します:
注:たとえCSSのサブセットが公式プロファイルであっても、CSSの部分的な実装は、部分的実装のための前方互換構文解析規則に従わなければなりません。
3. CSSの責任ある実装に対する要求
以下の節は、現在と将来の相互運用性を促進するような方法で、責任を持ってCSSを実装するための複数の適合性要件を定義します。
3.1. 部分的実装
著者がフォールバックの値を割り当てるための上位互換の解析規則を利用することができるようにするために、CSSレンダラは任意の@規則、プロパティ、プロパティの値、キーワード、その他レンダラが使用可能なサポートのレベルがない構文要素を、無効(そして必要に応じて無視)として扱わなければなりません。特に、ユーザーエージェントはある1つの複数値プロパティ宣言において非サポートのコンポーネントの値を無視し、かつサポートされる値を選択的に履行してはなりません。任意の値が無効と見なされる(サポートされない値はそうでなければならない)場合、CSSは宣言全体が無視される必要があります。
3.2. 不安定な実装とプロパティ機能
将来の安定したCSS機能との衝突を避けるために、CSSワーキンググループは、不安定な機能とCSSへの独自拡張の実装に対する次のベストプラクティスを推奨します。
3.2.1. 実験および不安定な機能
W3C仕様書に記載されるが、相互運用可能でない不安定な機能の実装は、一般的使用に対して広く公開されるべきではありませんが、コントロールされた環境で実験的使用、限定的に公開されてもよいです。
なぜ?
私たちは、機能を実験してフィードバックを与えることを著者と実装者の両方を可能にしたいが、量産ウェブサイトで著者がCSS機能に依存することを防止し、かつ後で変更されるかもしれない特定の構文または動作を誤って「ロックイン」することから著者を防止します。あるCSS機能の仕様がW3Cプロセスにおける勧告候補(CR)の段階に達するまで、そのCSS機能は不安定であると考えられます。例外的なケースとして、CSSWGは追加で、公式に記録される決議により、広い使用のために公開しても安全と考えられるセットにCR前の機能を追加するかもしれません。
注:しばらくの間で変更されていないCR前の仕様は通常安定版よりも時代遅れであるので、ベンダーは、WGに明示的に相談すべきであり、かつこの点についての仮定を行うべきではありません。
ワイドリリースに承認されたCR前機能の現在のリストは次で構成されます:
- CSS Animations [CSS3-ANIMATIONS]
- CSS Transitions [CSS3-TRANSITIONS]
- CSS Transforms [CSS3-TRANSFORMS]
- [CSS-SIZING-3]由来のmin-content、max-contentおよびfit-contentキーワード
- [SELECTORS4]由来の:dir()および:lang()セレクター
3.2.2. 所有者と非標準機能
将来のCSS機能との衝突を避けるために、CSS2.1仕様は、CSSの独占かつ実験的な拡張のための接頭辞構文 [CSS21]を予約します。あるCSS機能が、単一ベンダーのユーザーエージェントにのみアクセス可能な閉じた環境において使用を意図される場合、独自拡張です。ユーザーエージェントは、ベンダー接頭辞構文を通してのみそのような独自拡張をサポートすべきであり、World Wide Webのようなオープンな(マルチユーザーエージェント)環境に独自拡張を公開べきではありません。
なぜ?
接頭辞の要件は、標準CSSへの将来の追加と競合することなく閉じた環境における特殊な機能の出荷を可能にします。オープン系への公開の制限は、誤って公衆CSS環境に標準化されない拡張に依存させることを防ぐものです。たとえ機能がウェブで結局は使用されることを意図されても、その機能がまだ標準化されていない場合、依然としてウェブに公開されるべきではありません。
3.2.3. 市場の圧力とデファクトスタンダード
まだ機能が不安定である(すなわち仕様がまだ安定してない)場合、
-
少なくとも3つのユーザーエージェントは、機能を実装し(またはユーザーエージェントが他の規則を破壊しかつ不安定または量産リリースでその他の非標準的な機能を出荷し)、
-
かつ実装がラフな相互運用性を持ち、
-
かつCSSワーキンググループがこの機能が存在しかつ公開されるべきであるを合意を記録している場合、
実装者は、広範なリリースビルドで接頭辞なしの機能を出荷してもよいものです。ラフな相互運用性は、差異があるにも関わらず、主観的判断によって満たされ、実装がかなりの数のユースケースに対する量産ウェブサイトで使用されるのと十分に類似します。
しかし、CSSワーキンググループは依然としてベンダー間の連携を確保するために、および各ベンダーからのCSS専門家による健全性審査を確実にするために相談しなければならないことに注意してください。特に、詳細は標準レビュープロセスを通して解決されていないため、ラフな相互運用性は依然として、通常エッジケース(またはそれほどエッジでないケース)において痛みを伴う相互運用性の欠如を意味することにも注意してください。
3.2.3.1. ベンダー接頭辞の不安定な機能
量産リリースでウェブに標準化過程の不安定な機能として公開する場合、実装は機能に対するベンダー接頭辞ありと接頭辞なしの両方の構文をサポートすべきです。機能が安定しており、かつ実装が相互運用可能な動作と一致するように更新される時点で、ベンダー接頭辞構文に対するサポートは削除されるべきです。
なぜ?
これは、著者がすべての実装を対象にする接頭辞なしの構文を使用することができるが、必要な場合に、著者が標準またはバグ修正プロセスを通して解決する実装間で互換性の問題を回避するために特定の実装を対象にすることができるよう推奨します。接頭辞構文のみがサポートされる場合の局面の欠如は、ベンダー接頭辞構文のみが記述されているスタイルシートのリスクを低減します。これは、既存のコンテンツを破壊するより低いリスクとともに、ひとたび機能が安定すればユーザーエージェントベンダーに接頭辞構文を順に引退させることを可能にします。また、その構文に依存によるコンテンツのせいで、他のベンダーの接頭辞をもつ機能をサポートするために一部のベンダーによって折に触れて感じる必要性を低減します。
著者に不安定な機能を促進する誰もが機能の標準的な接頭辞なし構文を使用する介して機能を実証すべきであり、実装の違いを中心に作業以外の目的のためのベンダー接頭辞構文を使用するよう勧めるのを回避する。
3.2.3.2. CSSのオープン性の維持
技術としてCSSのオープンな性質を維持するために、ベンダーは、出荷するすべての機能を他の実装者が自由に実装すること可能にすべきです。この目的のために、ベンダーは、そのような機能の標準化を完了するために仕様編集およびテストするリソースを提供すべきであり、そして機能を出荷する競合他社に他の障害物(たとえば、プラットフォーム依存性、ライセンスの制限)を避けるべきです。
3.3. CRレベル機能の実装
仕様が勧告候補の段階に達すると、実装者は、実装者が仕様に従って正しく実装されることを示すことができる任意の勧告候補レベルの機能の接頭辞のない実装を公開すべきであり、その機能の接頭辞変異形を公開すべきではありません。
実装を問わずCSSの相互運用性を確立し維持するために、CSSワーキンググループは、非実験的なCSSレンダラが、任意のCSS機能の接頭辞なしの実装を公開する前に、実装レポート(そして、もし必要なら、実装レポートで使用したテストケース)をW3Cへ提出することを要請します。W3Cへ提出されたテストケースは、CSSワーキンググループによるレビューと修正の対象となります。
テストケースと実装レポートの提出に関する詳細情報は、CSSワーキンググループのウェブサイト(http://www.w3.org/Style/CSS/Test/)にあります。質問は直接public-css-testsuite@w3.orgメーリングリストまで。
4. 索引
以下の節は非規範的です。
4.1. 用語索引
- a
- additive tuple
- aligned subtree
- alignment baseline
- alignment container
- alignment context
- alignment subject
- an+b
- animation-tainted
- ascii case-insensitive
- at-rule
- augmented grid
- aural "box" model
- authoring tool
- automatic grid position
- automatic minimum size
- automatic placement
- auto-placement cursor
- available grid space
- avoid break values
- b
- baseline alignment
- baseline alignment preference
- baseline set
- baseline-sharing group
- base size
- border
- box alignment properties
- box-corner
- box fragment
- break
- cascade
- check if three code points would start an identifier
- check if two code points are a valid escape
- circled-lower-latin
- clamp a grid area
- clipping path
- clipping region
- code point
- collapsed flex item
- collapsed gutter
- collapsed track
- column axis
- column break
- component value
- conditional group rule
- conditional group rules
- conformance::authoring tool
- conformance::processor
- conformance::style sheet
- consume a component value
- consume a declaration
- consume a function
- consume a list of declarations
- consume a list of rules
- consume a name
- consume an at-rule
- consume an escaped code point
- consume an ident-like token
- consume a number
- consume a numeric token
- consume a qualified rule
- consume a simple block
- consume a string token
- consume a token
- consume a unicode-range token
- consume a url token
- consume comments
- consume the next input token
- consume the remnants of a bad url
- content
- content distribution properties
- content size
- convert a string to a number
- counter style
- counter symbol
- cross axis
- cross-axis baseline set
- cross dimension
- cross-end
- cross size
- cross size property
- cross-start
- css
- cssconditionrule
- cssgroupingrule
- cssmediarule
- css qualified name
- csssupportsrule
- current input code point
- current input token
- current tuple
- custom property
- declaration
- decode
- default namespace
- definite column span
- definite grid position
- definite size
- destination
- determine the fallback encoding
- dice
- digit
- display
- distributed alignment
- distribute extra space
- document
- documents
- ending token
- end of the range
- environment encoding
- eof code point
- escaping
- expanded name
- explicit grid
- fallback alignment
- first-baseline alignment
- first-baseline self-alignment
- first symbol value
- fixed sizing function
- flex base size
- flex basis
- flex container
- flex direction
- flex factor
- flex factor sum
- flex formatting context
- flex fraction
- flex grow factor
- flexible
- flexible length
- flexible sizing function
- flex item
- flex layout
- flex-level
- flex line
- flex shrink factor
- font-family
- footnote
- forced break
- forced break values
- fragment
- fragmentainer
- fragmentation
- fragmentation break
- fragmentation container
- fragmentation context
- fragmentation direction
- fragmentation root
- fragmented flow
- free space
- frequency
- fully inflexible
- function
- general_enclosed
- generate a counter
- generate baselines
- get an encoding
- go
- grid
- grid area
- grid cell
- grid column
- grid container
- grid formatting context
- grid item
- grid item placement algorithm
- grid layout
- grid-level
- grid order
- grid placement
- grid-placement property
- grid position
- grid row
- grid row line
- grid sizing algorithm
- grid span
- grid track
- group_rule_body
- group rule body
- growth limit
- gutter
- hex digit
- hypothetical cross size
- hypothetical fr size
- hypothetical main size
- identifier
- ignored
- implicit grid
- implicit grid lines
- implicit grid row
- implicit named area
- implicit named line
- infinitely growable
- initial free space
- initial representation for the counter value
- integer
- interpreter
- intrinsic sizing function
- invalid
- invalid at computed-value time
- last-baseline alignment
- last-baseline content-alignment
- last baselines
- last main-axis baseline set
- leftover space
- letter
- line break
- list-style-image
- list-style-type
- lowercase letter
- main axis
- main dimension
- main-end
- main-size
- main-start
- margin
- mask border image
- mask border image area
- mask image
- mask layer image
- mask painting area
- mask-position
- mask positioning area
- mask-size
- maximum allowed code point
- max track sizing function
- media
- '@media' rule
- min main size property
- min-size contributions
- min track sizing function
- monolithic
- multi-line
- name code point
- named cell token
- named grid area
- named line
- namespace prefix
- name-start code point
- natural baseline
- nested_statement
- newline
- next input code point
- next input token
- non-ascii code point
- non-negative-number
- non-printable code point
- null cell token
- number
- occupied
- or
- order-modified document order
- overflow alignment
- padding
- page break
- pagination
- parse
- parse a comma-separated list of component values
- parse a component value
- parse a css stylesheet
- parse a declaration
- parse a list of component values
- parse a list of declarations
- parse a list of rules
- parse a rule
- parse a stylesheet
- parse error
- participates in baseline alignment
- pending-substitution value
- percentage
- positional alignment
- preserved tokens
- qualified rule
- reconsume the current input code point
- reconsume the current input token
- region break
- remaining fragmentainer extent
- remaining free space
- renderer
- row axis
- scaled flex shrink factor
- serialize an <an+b> value
- simple block
- single-line
- source
- space to fill
- span count
- specified size
- spread break
- start of the range
- static-position rectangle
- stretched
- strings
- stroke bounding box
- strut size
- style attribute
- style rule
- style sheet
- style sheet!!as conformance class
- subgrid
- substitute a var()
- support
- supports_condition
- supports_condition_in_parens
- supports_conjunction
- supports_declaration_condition
- supports_disjunction
- supports_negation
- supports_rule
- '@supports' rule
- supports_sym
- surrogate code point
- synthesize baselines
- synthesized baseline
- target main size
- time
- top-level flag
- track list
- track sizing algorithm
- track sizing function
- transferred size
- trash token
- triangle
- trinary
- ua
- unforced break
- unoccupied
- upper-alpha-legal
- uppercase letter
- user agent
- uses a negative sign
- visual box model
- whitespace
- would start a number
4.2. セレクタ索引
4.3. @規則索引
4.4. プロパティ索引
- --*
- align-content
- align-items
- align-self
- box-decoration-break
- break-after
- break-before
- break-inside
- clip
- clip-path
- clip-rule
- cue
- cue-after
- cue-before
- flex
- flex-basis
- flex-direction
- flex-flow
- flex-grow
- flex-shrink
- flex-wrap
- grid
- grid-area
- grid-auto-columns
- grid-auto-flow
- grid-auto-rows
- grid-column
- grid-column-end
- grid-column-gap
- grid-column-start
- grid-gap
- grid-row
- grid-row-end
- grid-row-gap
- grid-row-start
- grid-template
- grid-template-areas
- grid-template-columns
- grid-template-rows
- justify-content
- justify-items
- justify-self
- mask
- mask-border
- mask-border-mode
- mask-border-outset
- mask-border-repeat
- mask-border-slice
- mask-border-source
- mask-border-width
- mask-clip
- mask-composite
- mask-image
- mask-mode
- mask-origin
- mask-position
- mask-repeat
- mask-size
- mask-type
- order
- orphans
- pause
- pause-after
- pause-before
- place-content
- place-items
- place-self
- rest
- rest-after
- rest-before
- speak
- speak-as
- voice-balance
- voice-duration
- voice-family
- voice-pitch
- voice-range
- voice-rate
- voice-stress
- voice-volume
- widows
- will-change
4.5. 値索引
- add
- additive
- alpha
- alphabetic
- arabic-indic
- armenian
-
auto
- in css-masking-1, for mask-mode
- in css-flexbox-1, for min-width, min-height
- in css-flexbox-1, for flex-basis
- in css-flexbox-1, for align-self
- in css-align-3, for justify-self
- in css-align-3, for align-self
- in css-align-3, for justify-items
- in css-grid-1, for grid-template-columns, grid-template-rows
- in css-grid-1, for <grid-line>
- in css-break-3, for break-before, break-after
- in css-break-3, for break-inside, page-break-inside
- in css-will-change-1, for will-change
- in css-counter-styles-3, for @counter-style/range
- in css-counter-styles-3, for @counter-style/speak-as
- auto-fill
- auto-fit
- [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
- avoid
- avoid-column
- avoid-page
- avoid-region
- baseline
- bengali
- border-box
- bullets
- cambodian
- center
- circle
- cjk-decimal
- cjk-earthly-branch
- cjk-heavenly-stem
- cjk-ideographic
- clone
- column
- column-reverse
- content
- content-box
- contents
- <counter-style-name>
- <custom-ident>
- cyclic
- decimal
- decimal-leading-zero
- dense
- devanagari
- disc
- disclosure-closed
- disclosure-open
- end
- ethiopic-numeric
- evenodd
- exclude
- extends
- fill
- fill-box
- first
- fit-content()
- fixed
- flex
- <flex>
- <'flex-basis'>
- flex-end
- <'flex-grow'>
- <'flex-shrink'>
- flex-start
- georgian
- grid
- <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?
- <'grid-template-rows'> / <'grid-template-columns'>
- gujarati
- gurmukhi
- hebrew
- hiragana
- hiragana-iroha
- inline-flex
- inline-grid
- <integer>
- <integer> && <custom-ident>?
- intersect
- japanese-formal
- japanese-informal
- kannada
- katakana
- katakana-iroha
- khmer
- korean-hangul-formal
- korean-hanja-formal
- korean-hanja-informal
- lao
- last
- last-baseline
- left
- legacy
- <length>
- <length-percentage>
- [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
- lower-alpha
- lower-armenian
- lower-greek
- lower-latin
- lower-roman
- luminance
- malayalam
- margin-box
- match-source
- max-content
- min-content
- minmax()
- mongolian
- myanmar
- no-clip
- none
- nonzero
- normal
- nowrap
- <number>
- numbers
- numeric
- objectboundingbox
- oriya
- padding-box
- page
- <percentage>
- persian
- recto
- region
- right
- row
- row-reverse
- safe
- scroll-position
- self-end
- self-start
- simp-chinese-formal
- simp-chinese-informal
- slice
- space-around
- space-between
- space-evenly
- span && [ <integer> || <custom-ident> ]
- spell-out
- square
- start
- stretch
- <string>+
- stroke-box
- subgrid
- subtract
- symbolic
- tamil
- telugu
- thai
- tibetan
- <track-list> | <auto-track-list>
- trad-chinese-formal
- trad-chinese-informal
- unsafe
- upper-alpha
- upper-armenian
- upper-latin
- upper-roman
- <url>
- userspaceonuse
- verso
- view-box
- words
- wrap
- wrap-reverse
5. 謝辞
Special thanks to Florian Rivoal for creating the initial draft of the §3.2.1 Experimentation and Unstable Features recommendations.