【发布时间】:2014-10-21 17:47:06
【问题描述】:
如果我相对显示一个 div 并给它一个上边距,我是否必须给以下所有内容同样的上边距?因为后面的内容将在元素的常规位置之后。
正如您在此处看到的,blue div 位于 red 上方,紧随蓝色的原始位置。
有没有办法让red 降低 20 像素而不使其成为relative?换句话说,不要对以下所有内容都这样做。
#a {
width:100%;
background-color:yellow;
height:50px;
}
#b {
position:relative;
top:20px;
width:50%;
background-color:blue;
height:50px;
}
#c {
width:100%;
background-color:red;
height:50px;
}
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
【问题讨论】:
-
为什么不使用
margin-top而不是定位元素? -
确实如此。 “top”不是边距——它相对于其在流中的自然位置的顶部移动元素。它之外的其他元素不会知道它的重新定位,但如果你只使用边距,那会很好。
-
另外,您可能会发现这很有帮助:stackoverflow.com/questions/4036176/css-top-vs-margin-top