この巧妙なルールセットが役立つ場合は、状況を把握できません。彼らは、ボックスモデルのシンプルさを壊し、レイアウトの異なる部分を組み合わせると、無限の問題の原因を提供します。それでは理由は何ですか?参考のため、CSSでマージン折りたたみルールが導入された理由は何ですか?
Rulesです。
更新:ルールは兄弟要素にとっては論理的ですが、マージンをツリーまで親要素に伝播する理由は何ですか?どんな種類の問題が解決しますか?例えば
:
<div style="margin: 20px; background-color: red;">
<div style="margin: 20px;">
<p style="margin: 100px;">red</p>
</div>
</div>
<div style="margin: 20px; background-color: blue;">blue</div>
最上位のdivは100pxにだけ離間されています。
実際に提供して一貫性の間隔を達成するための回避策を求めなければならない、私は好みますその明確さのための代替。いくつかの状況で私は同意するが、マージンの崩壊が助ける。 –
これは兄弟要素にとっては非常に論理的です。しかし、私はまだ子供エレメンツのマージンが親要素のマージンに影響を与えるべきであるという考えを持っていません。 – actual
@実際:子要素と親要素の境界との間隔は、周囲の要素に関係なく同じでなければなりません。周囲の要素は、親要素のサイズを変更する可能性があるため、親要素と子要素の境界線の間にスペーシングを導入することはできないため、マージンは子要素だけでなく親要素も遠ざける必要があります。 – Guffa