CSSボックスモデルモジュール レベル4

W3C作業草案,

この文書の詳細
このバージョン:
https://www.w3.org/TR/2024/WD-css-box-4-20240804/
最新公開バージョン:
https://www.w3.org/TR/css-box-4/
編集者草案:
https://drafts.csswg.org/css-box-4/
以前のバージョン:
履歴:
https://www.w3.org/standards/history/css-box-4/
フィードバック:
CSSWG課題リポジトリ
仕様内インライン
編集者:
Elika J. Etemad / fantasai (Apple)
この仕様への編集提案:
GitHubエディター

概要

この仕様書は、CSSボックス内外の余白を作るmarginとpaddingプロパティについて説明します。将来的には、現在[css-backgrounds-3]で説明されているボーダーを含めて拡張される可能性があります。

CSSは、構造化文書(HTMLやXMLなど)の表示を画面や印刷物などで記述するための言語です。

この文書のステータス

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

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

これはドラフト文書であり、 いつでも更新、置換、または廃止される可能性があります。 進行中の成果物以外としてこの文書を引用するのは適切ではありません。

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

この文書は2023年11月3日 W3Cプロセス文書に準拠しています。

この文書はW3C特許ポリシーのもと運営されているグループによって作成されました。 W3Cは、グループの成果物に関連して行われた特許開示の公開リストを管理しています。 そのページには特許の開示方法についても記載されています。 個人が特許について実際に知っていて、 必須クレームを含むと 信じる場合、その情報をW3C特許ポリシー第6節に従って開示しなければなりません。

1. 導入

この小節は規定ではありません。

CSSは、ソース文書内の各要素やテキストの各文字列が 要素ツリーボックスの集合へ 変換してレイアウトされる方法を記述します。 そのサイズ、位置、キャンバス上の積み重ね順は、 それぞれのCSSプロパティ値によって決まります。

注: CSSカスケードと継承は ボックスツリー内の要素へのプロパティの割り当て方法を定義し、 CSS Display 3 § 1 導入要素ツリーボックスツリーへ どのように変換されるかを説明しています。

各CSSボックスは 長方形のコンテンツ領域、 コンテンツの周囲のパディング帯、 パディングの周囲の境界線(ボーダー)、 境界線の外側のマージンを持ちます。 サイズ指定プロパティ [css-sizing-3]や レイアウトを制御するその他のプロパティが コンテンツ領域のサイズを定義します。 ボックスのスタイリングプロパティ—paddingおよびそのロングハンド、 borderおよびそのロングハンド、 marginおよびそのロングハンド—が これら他の領域のサイズを定義します。 マージンとパディングは本モジュールで定義され、 ボーダーは[css-backgrounds-3]で定義されています。

注: このモジュールは当初 ボックス生成(現在は[css-display-3]で定義)、 ボックスモデル(本書で定義)、 そしてブロックレイアウト(現在は[CSS2]の第9章、第10章のみで定義) に関するCSSレベル3の仕様本文を含んでいました。 CSS2.1の開発中に保守が中断されたため、 CSS2リビジョン1が最終的に完成した頃には 本文は大幅に古くなっていました。 そのため、ブロックレイアウト部分の本文は退役となり、 将来新しいBlock Layoutモジュールへのインプットとして CSS2と同期し直してアップデートされる予定です。 実務的な理由(膨大な作業量)、CSSが複数のレイアウトモデル (Flex LayoutGrid LayoutPositioned LayoutTable Layout、 そしてブロックレイアウト)を 持つようになったことから、 本モジュールやCSS Display Moduleから 分離されています。それぞれが独自の並列モジュールとして定義される価値があるためです。

1.1. 値の定義

この仕様はCSSプロパティ定義の慣習[CSS2]を、 値定義構文[CSS-VALUES-3]を それぞれ踏襲しています。 この仕様で定義されていない値型はCSS Values & Units [CSS-VALUES-3]で定義されています。 他のCSSモジュールとの組み合わせでこれらの値型の定義が拡張される場合があります。

各プロパティ固有の値に加え、 この仕様で定義されるすべてのプロパティは CSS全体キーワードも値として受け付けます。 可読性のため、ここでは繰り返し明記していません。

1.2. モジュールの相互作用

このモジュールは [CSS2]の セクション8.1、8.2、8.3(8.3.1は除く)、8.4で定義されていた marginおよびpaddingプロパティの定義を置き換えます。

このモジュール内のすべてのプロパティは ::first-lineおよび ::first-letter 疑似要素にも適用されます。

2. CSSボックスモデル

各ボックスはコンテンツ領域 (その内容―テキスト、子孫ボックス、画像やその他の置換要素の内容など―を含む)と、 オプションで周囲のパディングボーダーマージン領域を持ちます。 各領域のサイズは対応するプロパティで指定され、 ゼロにすることも可能です (マージンの場合は負の値も可)。 以下の図は、これらの領域の関係と、ボックスの各部を指す用語を示しています:

典型的なボックスの図。コンテンツ、パディング、ボーダー、マージン領域を示す

典型的なボックスの各領域とエッジ。

ボックスのコンテンツ、パディング、ボーダー領域の背景は backgroundプロパティで指定します。 ボーダー領域はさらにborderプロパティでボーダースタイルを描画できます。 マージンは常に透明です。 詳細は[css-backgrounds-3]を参照してください。

マージン、ボーダー、パディングは 上・右・下・左の各セグメントに分割でき、 それぞれ対応するプロパティで個別に制御できます。

2.1. ボックスとエッジ

各4領域 (コンテンツ、パディング、ボーダー、マージン) の外周はエッジと呼ばれ、 各エッジは 上・右・下・左の各辺に分けられます。 つまり、各ボックスは 4つのエッジ(各エッジは4辺で構成)を持ちます:

コンテンツエッジ または 内側エッジ
コンテンツエッジは ボックスの幅と高さで与えられる長方形を囲みます。 このサイズはしばしば要素の内容や 包含ブロックのサイズによって決まります。 コンテンツエッジの4辺が ボックスのコンテンツボックスを定義します。
パディングエッジ
パディングエッジはボックスのパディングを囲みます。 ある辺のパディング幅がゼロの場合、 その辺ではパディングエッジはコンテンツエッジと一致します。 パディングエッジの4辺が ボックスのパディングボックスを定義し、 これはコンテンツパディング領域の両方を含みます。
ボーダーエッジ
ボーダーエッジはボックスのボーダーを囲みます。 ある辺のボーダー幅がゼロの場合、 その辺ではボーダーエッジはパディングエッジと一致します。 ボーダーエッジの4辺が ボックスのボーダーボックスを定義し、 これはボックスのコンテンツパディングボーダー領域を含みます。
マージンエッジ または 外側エッジ
マージンエッジはボックスのマージンを囲みます。 ある辺のマージン幅がゼロの場合、 その辺ではマージンエッジはボーダーエッジと一致します。 マージンエッジの4辺が ボックスのマージンボックスを定義し、 これはボックスのすべてのコンテンツパディングボーダーマージン領域を含みます。

border-radiusなどのプロパティは、描画やクリッピングに使うボックスのエッジの形状を変えることができます(CSS Backgrounds 3 § 4.3 コーナークリッピング参照)。 これらの効果は通常レイアウトには影響しません。 区別するため、仕様では該当するshaped edge(形状付きエッジ)またはunshaped edge(形状なしエッジ)を参照できます。

2.2. 分断

ボックスが分断されるとき―行やページをまたいで、個別のボックス断片に分かれる場合― そのボックスの(content boxpadding boxborder boxmargin box)も分断されます。 コンテンツ/パディング/ボーダー/マージン領域が分断にどう反応するかは[css-break-4]で定義され、box-decoration-breakプロパティで制御されます。

2.3. ボックスエッジのキーワード

以下の<box> CSSキーワードは、 (transform-boxbackground-clipなど) さまざまなボックスエッジを参照する必要があるプロパティで利用するために定義されています:

content-box
content boxまたはcontent edgeを指します。 (SVGの場合はfill-boxとして扱われます。)
padding-box
padding boxまたはpadding edgeを指します。 (SVGの場合はfill-boxとして扱われます。)
border-box
border boxまたはborder edgeを指します。 (SVGの場合はstroke-boxとして扱われます。)
margin-box
margin boxまたはmargin edgeを指します。 (SVGの場合はstroke-boxとして扱われます。)
fill-box
object bounding boxまたはそのエッジを指します。 (CSSボックスの場合はcontent-boxとして扱われます。)
stroke-box
stroke bounding boxまたはそのエッジを指します。 (CSSボックスの場合はborder-boxとして扱われます。)
view-box
最も近いSVGビューポート原点ボックスを指します。 これはSVGビューポートの幅と高さを持つ長方形で、 左上隅が座標系の原点に固定されます。 (CSSボックスの場合はborder-boxとして扱われます。)

注: SVGビューポート自体が原点に固定されていない場合、 この原点ボックスSVGビューポートと一致しません!

便宜のため、以下の値型は<box>のよく使われる部分集合を表します:

<visual-box> = content-box | padding-box | border-box
<layout-box> = <visual-box> | margin-box
<paint-box> = <visual-box> | fill-box | stroke-box
<coord-box> = <paint-box> | view-box

3. マージン

マージンは ボックスのボーダーエッジの外側に配置され、 ボックス間のスペースを提供します。 marginプロパティは、 ボックスのmargin領域の厚みを指定します。 marginショートハンドプロパティは 4辺すべてのマージンを設定し、 marginロングハンドプロパティは各辺のみを設定します。 この仕様は物理的marginロングハンドを定義します; CSS Logical Properties 1 § 4.2 フロー相対マージン:margin-block-start, margin-block-end, margin-inline-start, margin-inline-endプロパティおよびmargin-block・margin-inlineショートハンドでは さらにフロー相対marginロングハンドも定義されます。 どちらのプロパティセットも同じマージンを制御します: 単に各辺のインデックス方法が異なるだけです。

注: ブロックレイアウトで隣接するマージンは 折りたたまれます。 詳細はCSS2§8.3.1 マージンの折り畳みを参照してください。 また、分断点に隣接するマージンは 省略される場合があります。 詳細はCSS Fragmentation 4 § 5.2 分断点での隣接マージン:margin-breakプロパティを参照してください。

3.1. ページ基準(物理的)マージンプロパティ:margin-topmargin-rightmargin-bottommargin-leftプロパティ

名前: margin-top, margin-right, margin-bottom, margin-left
値: <length-percentage> | auto
初期値: 0
適用対象: すべての要素(内部テーブル要素ルビベースコンテナ、およびルビ注釈コンテナを除く)
継承: しない
パーセンテージ: 包含ブロックの論理幅を参照
算出値: キーワードautoまたは算出された<length-percentage>
正規順序: 文法による
アニメーション型: 算出値の型による
論理プロパティグループ: margin

これらのプロパティはそれぞれ、ボックスの上・右・下・左のマージンを設定します。

marginプロパティには負の値も許可されていますが、実装依存の制限がある場合があります。

3.2. マージンショートハンド:marginプロパティ

名前: margin
値: <'margin-top'>{1,4}
初期値: 0
適用対象: すべての要素(内部テーブル要素ルビベースコンテナ、およびルビ注釈コンテナを除く)
継承: しない
パーセンテージ: 包含ブロックの論理幅を参照
算出値: 各個別プロパティを参照
正規順序: 文法による
アニメーション型: 算出値の型による

marginプロパティは、margin-topmargin-rightmargin-bottommargin-left を一括で設定するためのショートハンドプロパティです。

値が1つだけの場合、すべての辺に適用されます。 2つの場合、上と下が1つ目、右と左が2つ目の値になります。 3つの場合、上が1つ目、左と右が2つ目、下が3つ目の値になります。 4つの場合、それぞれ上・右・下・左に順番に適用されます。

以下のコードは、さまざまなmargin宣言例を示します。
body { margin: 2em }         /* すべてのマージンが2em */
body { margin: 1em 2em }     /* 上・下=1em、右・左=2em */
body { margin: 1em 2em 3em } /* 上=1em、右=2em、下=3em、左=2em */

上記最後のルールは、以下の例と同等です:

body {
  margin-top: 1em;
  margin-right: 2em;
  margin-bottom: 3em;
  margin-left: 2em; /* 反対側(右)をコピー */
}

3.3. コンテナ端でのマージン:margin-trimプロパティ

名前: margin-trim
値: none | [ block || inline ] | [ block-start || inline-start || block-end || inline-end ]
初期値: none
適用対象: ブロックコンテナマルチカラムコンテナフレックスコンテナグリッドコンテナ
継承: しない
パーセンテージ: 該当なし
算出値: トリミングする辺を示す0~4個のキーワード集合
正規順序: 文法による
アニメーション型: 離散値

しばしば、兄弟要素間にはマージンが必要ですが、コンテナの先頭や末尾ではパディングで間隔を制御できるためマージンが不要な場合があります。このプロパティは、コンテナの端に隣接する子のマージンをコンテナ側でトリミング(削除)できます。値の意味は以下の通りです:

none
マージンはコンテナによってトリミングされません。

注: ただし、ブロックレイアウトでは、子のマージンが親と折り畳まれることがあります。CSS2§8.3.1: マージンの折り畳み参照。

block-start
inline-start
inline-end
block-end
このボックス内に含まれるインフローのボックスについて、指定されたエッジに隣接するマージンは0に切り詰められます。さらに、こうしたマージンと折り畳まれた子孫のマージンも切り詰めます(ただし自身、兄弟、祖先のマージンは除く)。
block
block-start block-endに算出されます。
inline
inline-start inline-endに算出されます。

注: 最短シリアライズ原則に従い、算出値blockinlineと同等の場合、それらのキーワードでシリアライズされます。

隣接判定はボックスアラインメント[CSS-ALIGN-3]によるスペースの影響は受けず、 折り畳まれたボックス(CSS Flexbox 1 § 4.4 折り畳まれた項目参照) やトラック(CSS Grid Layout 1 § 7.2.3.2 Repeat-to-fill: auto-fill、auto-fit繰り返し)は無視されます。

注: margin-breakプロパティも参照。 これはボックス自身のマージンが分断点(改ページ/カラム分割など)に隣接する場合に適用されます。

このプロパティが、ボックスが分断コンテキストを確立する場合、分断点でのマージンにどう影響するか定義すること。 Issue 3314も参照。

注: このプロパティは、ブロックコンテナで指定した場合、floatのマージンには影響しません。 将来のモジュールレベルでfloat専用の制御が導入される可能性があります。

3.3.1. ブロックコンテナコンテンツのトリミング

ブロックコンテナに特化して、margin-trim は以下を破棄します:

これはインライン軸のマージンやインラインレベル子孫のマージンには影響しません。

3.3.2. フレックスコンテナコンテンツのトリミング

フレックスコンテナに特化して、margin-trim は以下を破棄します:

この処理では折り畳まれたフレックスアイテムは無視します。

3.3.3. グリッドコンテナコンテンツのトリミング

グリッドコンテナに特化して、margin-trim は、 該当ボックスエッジに隣接するグリッドトラック内の各グリッドアイテムの該当マージンを破棄します。

この処理では折り畳まれたグリッドトラックは無視しますが、空のグリッドトラックは他に無視しません。

4. パディング

パディングは、コンテンツエッジとパディングエッジの間に挿入され、 コンテンツとボーダーの間にスペースを提供します。 パディングプロパティは、 ボックスのパディング領域の厚みを指定します。 paddingショートハンドプロパティは4辺すべてのパディングを設定し、 パディングロングハンドプロパティは各辺のみを設定します。 この仕様は物理的paddingロングハンドを定義します; CSS Logical Properties 1 § 4.4 フロー相対パディング:padding-block-start, padding-block-end, padding-inline-start, padding-inline-endプロパティおよびpadding-block・padding-inlineショートハンドでは さらにフロー相対paddingロングハンドも定義されます。 どちらのプロパティセットも同じパディングを制御します: 単に各辺のインデックス方法が異なるだけです。

注: ボックスに指定された背景は デフォルトでパディングエッジ内にレイアウト・描画されます。 (さらにボーダーの下にも描画されます。 ボーダー領域内です。) この挙動はbackground-originbackground-clipプロパティで調整できます。

4.1. ページ基準(物理的)パディングプロパティ:padding-toppadding-rightpadding-bottompadding-leftプロパティ

名前: padding-top, padding-right, padding-bottom, padding-left
値: <length-percentage [0,∞]>
初期値: 0
適用対象: すべての要素(ただし、テーブルセル以外の内部テーブル要素ルビベースコンテナルビ注釈コンテナを除く)
継承: しない
パーセンテージ: 包含ブロックの論理幅を参照
算出値: 算出された<length-percentage>
正規順序: 文法による
アニメーション型: 算出値の型による
論理プロパティグループ: padding

これらのプロパティはそれぞれ、ボックスの上・右・下・左のパディングを設定します。

パディングプロパティに負の値を指定することはできません。

4.2. パディングショートハンド:paddingプロパティ

名前: padding
値: <'padding-top'>{1,4}
初期値: 0
適用対象: テーブルセル以外の内部テーブル要素ルビベースコンテナルビ注釈コンテナを除くすべての要素
継承: しない
パーセンテージ: 包含ブロックの論理幅を参照
算出値: 各個別プロパティを参照
正規順序: 文法による
アニメーション型: 算出値の型による

paddingプロパティは、padding-toppadding-rightpadding-bottompadding-left を一括で設定できるショートハンドプロパティです。

値が1つだけの場合、すべての辺に適用されます。 2つの場合、上と下が1つ目、右と左が2つ目の値になります。 3つの場合、上が1つ目、左と右が2つ目、下が3つ目の値になります。

下記のコードは、paddingプロパティのいくつかの宣言例を示します。
body { padding: 2em }         /* すべてのパディングが2em */
body { padding: 1em 2em }     /* 上・下=1em、右・左=2em */
body { padding: 1em 2em 3em } /* 上=1em、右=2em、下=3em、左=2em */

上記最後のルールは、下記の例と同等です:

body {
  padding-top: 1em;
  padding-right: 2em;
  padding-bottom: 3em;
  padding-left: 2em; /* 反対側(右)からコピー */
}

5. ボーダー

ボーダーボーダー領域を満たし、 ボックスのエッジを視覚的に区切ります。 ボーダープロパティは、 ボックスのボーダー領域の厚み、 および描画スタイル・色を指定します。 物理的なバリアントの定義はCSS Backgrounds 3 § 3 Bordersを参照してください;CSS Logical Properties 1 § 4.5 Flow-relative Bordersでは さらにフロー相対のボーダーロングハンドも定義されています。 どちらのプロパティセットも同じボーダーを制御します: 単に各辺のインデックス方法が異なるだけです。

6. 最近の変更

2024年4月1日作業草案以降の変更:

2022年11月3日作業草案以降の変更:

7. CSS Level 3以降の変更点

本モジュールはLevel 3以降、以下の変更が加えられました:

8. CSS Level 2以降の変更点

本モジュールはLevel 2以降、以下の変更が加えられました:

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

本モジュールに関するプライバシーに関する考慮事項は報告されていません。

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

本モジュールに関するセキュリティに関する考慮事項は報告されていません。

適合性

文書の慣例

適合要件は、説明的な断定とRFC 2119の用語を組み合わせて表現されます。規定部分で使われている「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、「OPTIONAL」というキーワードはRFC 2119に記載された通りに解釈されます。ただし、可読性のため、本仕様ではこれらの語がすべて大文字で表示されるわけではありません。

この仕様書の本文は、明示的に非規定と記載されたセクション、例、注記を除き、すべて規定です。[RFC2119]

この仕様書の例は「for example」で始まるか、class="example"で規定本文から区別され、次のように記載されます:

これは情報提供用の例です。

情報提供用の注記は「Note」で始まり、class="note"で規定本文から区別され、次のように記載されます:

Note、これは情報提供用の注記です。

勧告は特別な注意を喚起するようスタイルされ、他の規定本文と区別するため<strong class="advisement">で記載され、次のようになります: UAはアクセシブルな代替手段を提供しなければならない。

適合クラス

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

スタイルシート
CSSスタイルシート
レンダラー
UA(ユーザーエージェント)。スタイルシートの意味を解釈し、それを利用する文書を描画します。
オーサリングツール
UA(ユーザーエージェント)。スタイルシートを作成するツールです。

スタイルシートが本仕様に適合するためには、このモジュールで定義されている構文を使用するすべての文が、CSS一般文法および本モジュールで定義される各機能の個別文法に従い有効である必要があります。

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

オーサリングツールが本仕様に適合するためには、本モジュールのCSS一般文法および各機能の個別文法に従い、構文的に正しいスタイルシートを出力し、かつ本モジュールに記載されているその他のスタイルシートの適合要件をすべて満たす必要があります。

部分的な実装

作者が将来互換性のあるパース規則を利用してフォールバック値を割り当てられるよう、CSSレンダラーは、サポートできないatルール・プロパティ・プロパティ値・キーワードその他の構文について必ず(そして適切に無視)しなければなりません。特に、ユーザーエージェントは未サポートの値のみを選択的に無視し、サポートされる値のみを適用することはしてはならない:複数値のプロパティ宣言で、いずれかの値が無効(未サポートの場合は必ず無効)とみなされれば、CSSでは宣言全体を無視する必要があります。

不安定機能・独自機能の実装

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

非実験的な実装

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

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

テストケースや実装報告の提出方法など詳細はCSS作業グループのWebサイトhttps://www.w3.org/Style/CSS/Test/をご覧ください。 質問はpublic-css-testsuite@w3.orgメーリングリストへ。

索引

本仕様で定義されている用語

参照で定義されている用語

参考文献

規定参考文献

[CSS-ALIGN-3]
Elika Etemad; Tab Atkins Jr.. CSSボックスアラインメントモジュール レベル3。2023年2月17日。WD。URL: https://www.w3.org/TR/css-align-3/
[CSS-BACKGROUNDS-3]
Elika Etemad; Brad Kemper. CSS背景およびボーダーモジュール レベル3。2024年3月11日。CR。URL: https://www.w3.org/TR/css-backgrounds-3/
[CSS-BREAK-4]
Rossen Atanassov; Elika Etemad. CSS分断モジュール レベル4。2018年12月18日。WD。URL: https://www.w3.org/TR/css-break-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-DISPLAY-3]
Elika Etemad; Tab Atkins Jr.. CSSディスプレイモジュール レベル3。2023年3月30日。CR。URL: https://www.w3.org/TR/css-display-3/
[CSS-FLEXBOX-1]
Tab Atkins Jr.; 他. CSSフレキシブルボックスレイアウトモジュール レベル1。2018年11月19日。CR。URL: https://www.w3.org/TR/css-flexbox-1/
[CSS-GRID-1]
Tab Atkins Jr.; 他. CSSグリッドレイアウトモジュール レベル1。2020年12月18日。CR。URL: https://www.w3.org/TR/css-grid-1/
[CSS-GRID-2]
Tab Atkins Jr.; Elika Etemad; Rossen Atanassov. CSSグリッドレイアウトモジュール レベル2。2020年12月18日。CR。URL: https://www.w3.org/TR/css-grid-2/
[CSS-LOGICAL-1]
Rossen Atanassov; Elika Etemad. CSS論理プロパティおよび値 レベル1。2018年8月27日。WD。URL: https://www.w3.org/TR/css-logical-1/
[CSS-MULTICOL-1]
Florian Rivoal; Rachel Andrew. CSSマルチカラムレイアウトモジュール レベル1。2024年5月16日。CR。URL: https://www.w3.org/TR/css-multicol-1/
[CSS-PSEUDO-4]
Daniel Glazman; Elika Etemad; Alan Stearns. CSS疑似要素モジュール レベル4。2022年12月30日。WD。URL: https://www.w3.org/TR/css-pseudo-4/
[CSS-RUBY-1]
Elika Etemad; 他. CSSルビ注釈レイアウトモジュール レベル1。2022年12月31日。WD。URL: https://www.w3.org/TR/css-ruby-1/
[CSS-SIZING-3]
Tab Atkins Jr.; Elika Etemad. CSSボックスサイズ指定モジュール レベル3。2021年12月17日。WD。URL: https://www.w3.org/TR/css-sizing-3/
[CSS-TRANSFORMS-1]
Simon Fraser; 他. CSSトランスフォームモジュール レベル1。2019年2月14日。CR。URL: https://www.w3.org/TR/css-transforms-1/
[CSS-VALUES-3]
Tab Atkins Jr.; Elika Etemad. CSS値と単位モジュール レベル3。2024年3月22日。CR。URL: https://www.w3.org/TR/css-values-3/
[CSS-VALUES-4]
Tab Atkins Jr.; Elika Etemad. CSS値と単位モジュール レベル4。2024年3月12日。WD。URL: https://www.w3.org/TR/css-values-4/
[CSS-WRITING-MODES-4]
Elika Etemad; Koji Ishii. CSS書字モード レベル4。2019年7月30日。CR。URL: https://www.w3.org/TR/css-writing-modes-4/
[CSS2]
Bert Bos; 他. カスケーディングスタイルシート レベル2 リビジョン1 (CSS 2.1) 仕様。2011年6月7日。REC。URL: https://www.w3.org/TR/CSS21/
[RFC2119]
S. Bradner. RFCで要求レベルを示すためのキーワード。1997年3月。Best Current Practice。URL: https://datatracker.ietf.org/doc/html/rfc2119
[SVG2]
Amelia Bellamy-Royds; 他. スケーラブルベクターグラフィックス (SVG) 2。2018年10月4日。CR。URL: https://www.w3.org/TR/SVG2/

プロパティ索引

名前 初期値 適用対象 継承 パーセンテージ アニメーション型 正規順序 算出値 論理プロパティグループ
margin <'margin-top'>{1,4} 0 内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による 各個別プロパティを参照
margin-bottom <length-percentage> | auto 0 内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による キーワードautoまたは算出された<length-percentage>値 margin
margin-left <length-percentage> | auto 0 内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による キーワードautoまたは算出された<length-percentage>値 margin
margin-right <length-percentage> | auto 0 内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による キーワードautoまたは算出された<length-percentage>値 margin
margin-top <length-percentage> | auto 0 内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による キーワードautoまたは算出された<length-percentage>値 margin
margin-trim none | [ block || inline ] | [ block-start || inline-start || block-end || inline-end ] none ブロックコンテナ、マルチカラムコンテナ、フレックスコンテナ、グリッドコンテナ しない 該当なし 離散値 文法による トリミングする辺を示す0~4個のキーワード集合
padding <'padding-top'>{1,4} 0 テーブルセル以外の内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による 各個別プロパティを参照
padding-bottom <length-percentage [0,∞]> 0 テーブルセル以外の内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による 算出された<length-percentage>値 padding
padding-left <length-percentage [0,∞]> 0 テーブルセル以外の内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による 算出された<length-percentage>値 padding
padding-right <length-percentage [0,∞]> 0 テーブルセル以外の内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による 算出された<length-percentage>値 padding
padding-top <length-percentage [0,∞]> 0 テーブルセル以外の内部テーブル要素、ルビベースコンテナ、ルビ注釈コンテナを除くすべての要素 しない 包含ブロックの論理幅を参照 算出値の型による 文法による 算出された<length-percentage>値 padding

課題索引

このプロパティが、ボックスが分断コンテキストを確立する場合、分断点でのマージンにどう影響するか定義すること。 Issue 3314も参照。