CSS では、マージンの折りたたみとは、親要素とその最後の子要素のマージンが結合して、シングルマージン。これは、親要素と子要素の両方がブロック レベルの要素である場合に発生します。ただし、フレックスボックスを使用すると、この動作が変わります。
フレックスボックスでは、「フレックス フォーマット コンテキスト」と呼ばれる新しい概念が導入されています。従来のブロック書式設定コンテキストとは異なり、フレックス書式設定コンテキストは、レイアウトとマージン処理のための独自のルールのセットを作成します。主な違いの 1 つは、フレックス フォーマット コンテキストではマージンの折りたたみが発生しないことです。
フレックスボックス以外のレイアウトでは、親要素と子要素が異なるためにマージンの折りたたみが発生します。どちらも同じブロック フォーマット コンテキストに参加するブロック レベルの要素です。ただし、フレックス フォーマット コンテキストでは、フレックス コンテナは、ブロック レイアウトの代わりにフレックス レイアウトが使用される別のフォーマット コンテキストを確立します。
前述したように、マージンの折りたたみは発生します。フレックスフォーマットコンテキストでは発生しません。したがって、提供されている例の最後の記事とフッターの間でマージンが崩れるのを防ぐために、変更を加える必要はありません。フレックスボックス レイアウトでは、マージンの崩壊はすでに解消されています。
要約すると、マージンの崩壊はブロック フォーマット コンテキストの機能であり、フレックス フォーマット コンテキストでは発生しません。これは、フレックスボックスが、フレックス レイアウトが使用され、ブロックレベルのレイアウトと同じようにマージンが折りたたまれない新しい書式設定コンテキストを確立するためです。
以上がFlexbox レイアウトでマージンの折りたたみは発生しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。