ホームページ > ウェブフロントエンド > CSSチュートリアル > なぜ両親の間でマージンが崩壊することがあるのでしょうか?

なぜ両親の間でマージンが崩壊することがあるのでしょうか?

Linda Hamilton
リリース: 2024-11-03 17:19:02
オリジナル
634 人が閲覧しました

Why Do Margins Sometimes Collapse Within Their Parents?

親によるマージン制限: 奇妙なケース

CSS の領域内では、マージンの動作は複雑になる場合があります。マージンのある要素が別の要素内にネストされている場合、親要素が常にそれらのマージンを囲むとは限りません。この矛盾は長年開発者を悩ませてきました。

閉じ込めのトリガー

観察によると、次のような特定のトリガーによって親が子のマージンを包み込む可能性があることが判明しました。

  • ボーダー: ソリッド
  • 位置: 絶対
  • 表示: インラインブロック
  • オーバーフロー: 自動

マージンの難問

マージンの封じ込めが標準であると思われるかもしれませんが、通常の div のデフォルトの動作ではマージンが除外されます。このデフォルト以外のすべてがマージン制限を想定する必要があるのはなぜですか?

W3C の仕様

W3C の仕様はこの動作を明らかにしていますが、その説明は複雑です。基本的に、「マージンの縮小」は、隣接するマージンを 1 つのマージンに結合します。親要素の場合、子のマージンがそのマージンと隣接している場合、マージンが崩れて要素の位置に影響を与える可能性があります。

特定のシナリオ

詳しく説明すると、

  • 子のマージンが親の上マージンで折りたたまれる場合、子の上マージンは親のものと整列します。
  • 親の上マージンが折りたたまれない場合、子の上マージンが配置されます。

結論

マージンを抑制するためのこれらのルールを理解することは、効果的な CSS スタイル設定にとって重要です。開発者は、上記のトリガーを調整することで、親要素にマージンを含めるか除外するかを制御できます。

以上がなぜ両親の間でマージンが崩壊することがあるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート