正如您在this picture中所看到的,我在绿色div
中有一个橙子div
,没有上边框。橙色div
有一个30px
上边距,但它也将绿色div
向下推。当然,添加上边框可以解决这个问题,但我需要绿色div
成为无上边框。我该怎么做呢?
第一个
正如您在this picture中所看到的,我在绿色div
中有一个橙子div
,没有上边框。橙色div
有一个30px
上边距,但它也将绿色div
向下推。当然,添加上边框可以解决这个问题,但我需要绿色div
成为无上边框。我该怎么做呢?
第一个
7条答案
按热度按时间vxqlmq5t1#
可以将
overflow:auto
添加到.body
以防止边距折叠。请参阅http://www.w3.org/TR/CSS2/box.html#collapsing-marginskrcsximq2#
您所遇到的是边距折叠。边距并不指定元素周围的区域,而是指定元素之间的最小距离。
由于绿色容器没有任何边框或填充,因此没有任何内容可以包含橙子元素的边距。边距在顶部元素和橙色元素之间使用,就像绿色容器具有边距一样。
在绿色容器中使用填充,而不是在橙子元素上使用边距。
23c0lvtd3#
使用
padding
而不是margin
:uqxowvwt4#
不确定这是否适用于您的情况,但我刚刚用以下CSS属性解决了这个问题
#element
被下推,因为它的第一个子元素有一个margin-top: 30px
。有了这个CSS,它现在可以正常工作了:)不确定它是否对每种情况都有效,YMMV。kx5bkwkv5#
您可以在绿色框上添加
padding-top: 30
,在橙子框上使用top: 30px
的相对定位,或者浮动橙色框并使用相同的margin-top: 30px
。mnowg1ta6#
您阅读此文档:Box模型-边缘折叠
CSS
vd2z7a6w7#
不知道这听起来有多俗气,但是添加一个透明边框怎么样?