以下のキーワードは、要素の内部の display
種別を指定し、これは要素 (置換要素ではないものとする) の内容物をレイアウトする整形コンテキストの種類を定義します。これらのキーワードは display
プロパティの値として使用され、単一のキーワードとしては伝統的な目的に、または Level 3 仕様書では
のキーワードと共に使用されます。
構文
有効な
の値は以下の通りです。
flow
-
要素は、フローレイアウト (ブロックおよびインラインのレイアウト) を使用して、内容物をレイアウトします。
外部表示種別が
inline
またはrun-in
であり、またブロックまたはインラインの整形コンテキストに関係する場合は、インラインボックスを生成します。そうでない場合は、ブロックコンテナーボックスを生成します。ほかのプロパティ (
position
,float
,overflow
など) の値や、要素自体がブロックまたはインラインの整形コンテキストに関係するかによって、新たなブロック整形コンテキスト (BFC) を生成する、または内容物が親の整形コンテキストに吸収されます。 flow-root
-
要素は、新たなブロック整形コンテキストを確立するブロック要素ボックスを生成し、整形ルートがある場所を定義します。
table
-
HTML の
要素と同じように動作します。これは、ブロックレベルボックスを定義します。
flex
要素は、ブロック要素のように動作しつつ、そのコンテンツをフレックスボックスモデルに従ってレイアウトします。
grid
要素は、ブロック要素のように動作しつつ、そのコンテンツをグリッドモデルに従ってレイアウトします。
ruby
要素は、インライン要素のように動作しつつ、そのコンテンツをルビ (ruby) モデルに従ってレイアウトします。HTML の
要素のように動作します。
メモ: 2 つの値の構文に対応しているブラウザーは、
display: flex
やdisplay: grid
などの内部表示種別のみが指定されていると、外部表示種別をblock
に設定します。これで期待通りに動作します。例えば、ある要素をdisplay: grid
に指定した場合、そのボックスはブロックレベルボックスのグリッドコンテナーとして生成されることが期待されるでしょう。形式文法
例
この例では、親ボックスは
display: flow-root
となり、新しいブロック整形コンテキストを確立して浮動アイテムを含みます。HTML
htmlI am a floated box!I am content inside the container.
CSS
css.box { background-color: rgb(224, 206, 247); border: 5px solid rebeccapurple; display: flow-root; } .float { float: left; width: 200px; height: 150px; background-color: white; border: 1px solid black; padding: 10px; }
結果
仕様書
Specification CSS Display Module Level 3
# typedef-display-insideブラウザーの互換性
css.properties.display.flow-root
css.properties.display.table
css.properties.display.flex
css.properties.display.grid
css.properties.display.ruby
関連情報