代码在这里:http : //lasers.org.ru/vs/example.html
如何删除主块(#page)下的空白?
代码在这里:http : //lasers.org.ru/vs/example.html
如何删除主块(#page)下的空白?
Answers:
好吧,那就不要使用相对定位了。使用相对定位时,该元素仍会占据原始位置的空间,并且您无法摆脱它。例如,您可以改用绝对定位,也可以使元素彼此浮动。
我对布局进行了一些尝试,建议您将这三个规则更改为:
#layout { width: 636px; margin: 0 auto; }
#menu { position: absolute; width: 160px; margin-left: 160px; }
#page { width: 600px; padding: 8px 16px; border: 2px solid #404241; }
另一个对我有用的技巧是在已移动的相对元素中使用负底距。无需绝对定位。
就像是:
position: relative;
left: 100px
top: -200px;
margin-bottom: -200px;
与我现在看到的解决方案相似(如果不相同),绿色。
margin-bottom
负数,因为您想摆脱底部的多余空间。
#page {
padding-bottom: 0;
}
我的回答很晚,但可能会帮助我解决类似的问题。
我有一个<div>
用position: relative;
所有的子元素有position: absolute;
风格。这造成约20px的空白出现在我的页面上。
为了解决这个问题,我添加了 margin-top: -20px;
在<div>
with之后了下一个兄弟元素position: relative;
。
如果以前有同级元素,则可以使用 margin-bottom: -20px;
section {
height: 200px;
}
<h2>Extra Whitespace</h2>
<section>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div style="position:relative;">
<div style="position:relative; top: -20px; left:100px;">ABSOLUTE</div>
</div>
<div>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</section>
<h2>No Whitespace margin-top</h2>
<section>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div style="position:relative;">
<div style="position:relative; top: -20px; left:100px;">ABSOLUTE</div>
</div>
<div style="margin-top:-20px;">
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</section>
<h2>No Whitespace margin-bottom</h2>
<section>
<div style="margin-bottom:-20px;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div style="position:relative;">
<div style="position:relative; top: -20px; left:100px;">ABSOLUTE</div>
</div>
<div>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</section>
这个问题似乎得到了很好的解答-但是,以上所有答案在我的版式中都有不良的副作用。这是真正为我工作的东西:
.moveUp {
position: relative;
}
.moveUp > * {
position: absolute;
width: 100%;
top: -75px;
}
/** This part is just design - ignore it ... ****/
.box1, .box2, .box3 {
height: 100px;
color: white;
}
.box1 {
background: red;
}
.box2 {
background: blue;
height: 50px;
}
.box3 {
background: green;
}
<div class="box1">Box 1</div>
<div class="moveUp"><div class="box2">Box 2 - 75px up</div></div>
<div class="box3">Box 3</div>