<div class="wrapper">
<div class="header">
</div>
<div class="featured">
</div>
</div>
css看起来像这样
.header {
background: green;
height:620px;
}
.footer {
background: blue;
height:200px;
}
.featured {
background: yellow;
width:500px;
height:420px;
margin:0 auto;
position: relative;
top: -200px;
}
在推动负顶部时,sil div“footer”将不会相应地向上移动。这是两个div之间的一个很大的空白区域
答案 0 :(得分:0)
这是因为你使用位置相对。当你添加top-200px它向上移动<div>
但没有留下他的空间时,你需要使用位置绝对或负边距(-ve)。
jsfiddle.net/zrsgb2rd /
答案 1 :(得分:0)
提供margin-top:-200px
代替top:-200px
。因为它是相对元素。即使你通过给出负顶部来移动它也会占用空间。
.featured {
background: yellow;
width:500px;
height:420px;
margin:-200px auto 0;
position: relative;
}
<强> Working Fiddle 强>
答案 2 :(得分:0)
我希望你想要这个
.wrapper{
position: relative;
}
.header {
background: green;
height:620px;
}
.footer {
background: blue;
height:200px;
}
.featured {
background: yellow;
width: 500px;
height: 420px;
margin: 0 auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
margin-top: 200px;
}
&#13;
<div class="wrapper">
<div class="header">
</div>
<div class="featured">
</div>
<div class="footer">
</div>
</div>
&#13;