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