1.要素の内部表示種別
置換要素を除いた
ボックスが生成する
フォーマットコンテキストの
種類を
CSSのdisplayプロパティは、
示します。
CSSの display
置換要素は、内容(コンテンツ)が CSSフォーマットモデルの範囲外の要素です。
ブラウザの互換性が不十分ですが、CSSの Level 3 仕様書では display
〇〇コンテナ |
確立する |
インライン |
なし |
---|---|
ブロック |
ブロック インライン |
テーブル |
ブロック |
テーブル |
テーブル |
ルビ |
ルビ |
フレックス |
フレックス |
2.インラインボックス
インラインボックスは、
内部表示種別がフローである、
置き換えられていない
インラインレベルボックスの
事です。
CSSの displayinline
であり非置換の内容は、インライン
HTMLのカテゴリで書くと、inline
であり、エンベデッドinline-block
となる場合もあるので、個別に確認が必要ですが、概ねこうです。
インライン
注意点というかポイントというか、インライン
1つだけ | 1つめ | 2つめ | 参加 |
inline | inline | flow | インライン |
---|
コンテキスト
レベルボックス
インラインレベルボックスのみを含むブロックコンテナボックス。
レベルボックス
レベルボックス
インラインレベルボックスとブロックレベルボックスの混在のブロックコンテナボックス。ブロックボックスとは、ブロックレベルのブロックコンテナであるボックスです。
3.ブロックコンテナボックス
ブロックコンテナボックスは、
ブロックフォーマットコンテキストを
確立, 継承し、必要に応じて
インラインフォーマットコンテキストを
確立します。
CSSの displayblock
, list-item
, inline-block
, table-cell
は、ブロック
HTMLのカテゴリで書くと、block
であり、thtable-cell
であり、lilist-item
であり、フレージングinline-block
であります。
ブロック
特にブロック
ブロック
インライン
親フォーマットコンテキストがブロック
1つだけ | 1つめ | 2つめ | 参加 |
block | block | flow | ブロック |
---|---|---|---|
list-item | list-item | - | ブロック |
inline-block | inline | flow-root | インライン |
table-cell | table-cell | - | テーブル |
コンテキスト
コンテキスト
コンテキスト
コンテキスト
フォーマットコンテキスト
レベルボックス
インラインレベルボックスのみを含むブロックコンテナボックス
フォーマットコンテキスト
フォーマットコンテキスト
親フォーマットコンテキストがブロックフォーマットコンテキストでない場合、ブロックコンテナは新しいブロックフォーマットコンテキストを確立します。
フォーマットコンテキスト
フォーマットコンテキスト
継続
親フォーマットコンテキストがブロックフォーマットコンテキストである場合、ブロックコンテナは他のプロパティの制約によって決定されるように、参加するコンテキストを継続します。
レベルボックス
レベルボックス
インラインレベルボックスとブロックレベルボックスの混在のブロックコンテナボックス。ブロックボックスとは、ブロックレベルのブロックコンテナであるボックスです。
<!DOCTYPE html>
<html lang=
"ja"> <head>
<meta charset=
"utf-8"> <title>サンプル</title>
</head>
<body>
コンテンツ
</body>
</html>
html
フォーマット
コンテキスト
ボックス
<button>
ボタン
</button>
button
フォーマット
コンテキスト
フォーマット
コンテキスト
4.テーブルラッパーボックス
テーブルラッパーボックスは、
テーブルグリッドボックスの
周囲に生成された
ブロックコンテナボックスです。
CSSの displaytable
, inline-table
は、テーブルグリッドボックスを含むテーブル
テーブルラッパーボックスは、テーブルグリッドボックスの周囲に生成されたブロック
テーブルグリッドボックスは、キャプションを除く、テーブル内部ボックスを含むブロックレベルのボックスです。テーブルフォーマットコンテキストを確立します。
レイアウト固有の表示タイプのボックスは、それぞれの仕様で定義されているように、互換性のない親に配置されると、その周りに匿名のラッパーボックスを生成します。
CSSの displaytable-caption
(caption element)
は、レイアウト固有の内部ボックスであるテーブル
CSSの displaytable-row-group
(tbody element), table-header-group
(thead element), table-footer-group
(tfoot element), table-column-group
(colgroup element)
は、レイアウト固有の内部ボックスであるテーブル
CSSの displaytable-row
(tr element), table-column
(col element)
は、レイアウト固有の内部ボックスであるテーブル
CSSの displaytable-cell
(th element, td element)
は、レイアウト固有の内部ボックスであるブロック
要素 | 1つだけ | 1つめ | 2つめ | 参加 |
table | table | block | table | ブロック |
---|---|---|---|---|
- | inline-table | inline | table | インライン |
要素 | 1つだけ | 1つめ | 2つめ | ボックス |
caption | table-caption | - | - | テーブル |
---|---|---|---|---|
tbody | table-row-group | - | - | テーブル |
thead | table-header-group | - | - | テーブル |
tfoot | table-footer-group | - | - | テーブル |
tr | table-row | - | - | テーブル |
td | table-cell | - | - | ブロック |
コンテキスト
コンテキスト
コンテキスト
キャプション
ボックス
コンテキスト
コンテキスト
グループボックス
<div style=
"display: block;"> <div style=
"display: table-cell;"> </div>
</div>
レイアウト固有の表示タイプのボックスは、それぞれの仕様で定義されているように、互換性のない親に配置されると、その周りに匿名のラッパーボックスを生成します。
5.ルビコンテナボックス
ルビコンテナボックスは、
ルビフォーマットコンテキストを
確立します。
CSSの displayruby
は、ルビruby
です。
CSSの displayruby-text
は、ルビruby-text
です。none
です。
尚、ユーザーエージェントがこれらの要素に対応していなけけば、displayinline
が採用されます。
要素 | 1つだけ | 1つめ | 2つめ | ボックス |
ruby | ruby | inline | ruby | ルビ |
---|---|---|---|---|
rt | ruby-text | - | - | ルビ |
rp | none | - | - | なし |
6.フレックスコンテナボックス
フレックスコンテナボックスは、
フレックスフォーマットコンテキストを
確立します。
CSSの displayflex
は、フレックスflex
である要素はありません。