CSS2盒子模型告诉我们相邻的垂直边距会崩溃。
我发现这很烦人,它是许多设计错误的根源。我希望通过了解折叠边距的目的,我将了解何时使用它们以及在不需要它们时如何避免它们。
此功能的目的是什么?
Answers:
“边距”的一般含义不是传达“将其移动10像素”,而是“此元素旁边必须有10像素的空白空间”。
我一直发现这是最容易用段落概念化的。
如果您只是给出段落margin-top: 10px
而在其他任何元素上都没有空白,则一系列段落之间的间隔会很漂亮。但是,当然,在段落下放置另一个元素时会遇到麻烦。两者会碰触。
如果页边距没有塌陷,您将不愿意添加margin-bottom: 10px
到以前的代码中,因为这样一来,任何一对段落之间的间距都为20px,而段落与其他元素之间的间距仅为10px。
因此垂直边距崩溃。通过添加10px的顶部和底部边距,您说的是:“我不在乎其他元素具有什么边距规则。我要求在每个段落的上方和下方至少填充10px。”
margin-top
为该元素添加呢?