フレックス アイテムのブロック レベル要素: 詳細な調査
概要:
フレックス レイアウトの要素であるフレックス アイテムは、ブロック レベルの要素としての性質についての議論を引き起こしました。この記事では、関連する CSS 仕様を詳しく掘り下げて、フレックス項目とブロックレベルのステータスとの関係を明確に理解します。
フレックス レベルとブロック レベル:
CSS フレキシブル ボックス レイアウト モジュール レベル 1 の第 4 章によると、フレックス項目はブロック レベルではなくフレックス レベルで考慮されます。これらはコンテンツに対して独立したフォーマット コンテキストを確立し、ブロック コンテキストではなくコンテナのフレックス コンテキストに参加します。
「ブロック化」問題:
ただし、同じ章フレックス項目の表示値が「ブロック化」されていることを示します。このため、「ブロック化」がフレックス項目のブロックレベルのステータスを意味するかどうかについて疑問が生じています。
「ブロック化」について:
ブロック化とは、インライン アイテムの変換を指します。レベル表示値をフレックス項目のブロックレベルに相当する値に変換します。この変換は、フレックス コンテナを生成する要素のインフロー子にインライン レベルの値が指定されたときに呼び出されます。
解決されたパラドックス:
「フレックス レベル」と「ブロック化」の間には明らかな矛盾がありますが、CSS 仕様は一貫しています。フレックス項目は、表示値に関係なく、フレックスレベルのままです。 「ブロック化」プロセスは、独自の書式設定コンテキスト内からの要素の外観にのみ影響します。
内部と外部から:
内部世界から ( flex item)、display: block; によりブロック要素として動作します。価値。ただし、外部 (親フレックス コンテナ) からは、フレックス レベルのボックスとみなされます。
実用的なポイント:
フレックス アイテムはフレックス レベルです。内部的にブロックのような動作を示す要素。これらはブロックの表示値を継承しますが、ブロックレベルの書式設定コンテキストは作成しません。この二重性により、レイアウト設計の柔軟性が可能になります。
以上が記事に適した質問ベースのタイトルは次のとおりです。 フレックス項目は実際にはブロックレベルの要素ですか? 「ブロック化」とフレックス レベルの動作の確認の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。