25

つまり、特定の div 要素にマージン、パディング、またはボーダーを設定しないと、本質的にマージンの崩壊が発生するのでしょうか?

4

2 に答える 2

74

いいえ。2 つの隣接する垂直余白がある場合、2 つのうち大きい方が使用され、もう一方は無視されます。

たとえば、2 つのブロック表示要素 A があり、その下に B があり、A の下部余白が 3em、B の上部余白が 2em の場合、それらの間の距離は 3em になります。 .

境界線またはパディングを設定すると、これにより折りたたみが発生しなくなります。上記の例では、2 つの要素間の距離は 5em になります。

マージンを設定しない場合、折りたたむマージンはありません。使用中の要素タイプとは何の関係もありません。要素だけでなく、すべての要素タイプに適用でき<div>ます。

詳細については、CSS 2.1 仕様を参照してください。

于 2008-09-19T15:21:41.940 に答える
4

「マージンを折りたたむという表現は、2 つ以上のボックス (互いに隣り合っているか、ネストされている可能性があります) の隣接するマージン (空でないコンテンツ、パディング、境界領域、またはそれらを分離するクリアランスがない) が結合して単一のマージンを形成することを意味します。」

出典: Box Model - 8.3.1 マージンの折りたたみ

于 2008-09-19T15:20:08.137 に答える