0

可能重复:
子元素的边距移动父元素

我有一个包含子 div 的父 div。Parent是正文中的第一个元素,没有特定的 CSS 样式。当我设置

.child {
   margin-top: 10px;
}

最终结果是 top ofchild仍然与parent. 我的父母没有向下移动 10 像素,而是child向下移动了 10 像素。

我发现添加填充parent可以工作,但我读过这不是解决问题的方法。为什么?如果我愿意,margin-right我可以做padding-righton parent,同样,如果我愿意,margin-top我也可以做padding-top并得到正确的结果。

子元素的边距移动父元素有人说:

如果您想要最高利润怎么办...?不是真正的解决方案。如果需要上边距,这并不是真正的解决方案。

他想说什么?请解释。

4

1 回答 1

1

来自Mozilla 开发者网络上的CSS Margin Collapsing :

父母和第一个/最后一个孩子

如果没有边框、内边距、内联内容或间隙来将块的 margin-top 与其第一个子块的 margin-top [...] 分开,那么这些边距就会崩溃。折叠的边距最终在父级之外。

于 2013-01-01T12:40:17.983 回答