我有一个#left
,绝对定位的div和右侧的另外两个div。当我向右边的#top
div添加边距时,它也会影响#left
div。我知道有一个边缘崩溃的东西,但它是否会影响position:absolute
?
代码非常简单,没什么特别的,但我无法找到解决方案。
* {
padding:0;
margin:0;
}
#wrapper {
width:400px;
height:400px;
background:gray;
position:relative;
margin-left:100px;
}
#left {
background:pink;
width:100px;
height:100%;
left:-100px;
top:0;
position:absolute;
}
#right {
background:red;
}
#top {
background:green;
height:26px;
}
<div id="wrapper">
<div id="left">Left</div>
<div id="top">top</div>
<div id="right">Right</div>
</div>
Jsfiddle:http://jsfiddle.net/9thvLfe0/2/
答案 0 :(得分:1)
答案 1 :(得分:0)
只需将保证金设为最高,并给予负余量。
答案 2 :(得分:0)
嗯,问题是你的#wrapper是相对的,而#left是绝对的。 通过继承,#top和#right也是相对的。因此,在这些条件下添加负边距,将其添加到#wrapper。
您可以将#wrapper更改为#34; fixed&#34;但是您必须手动将边距/填充设置为#hide-top,因为实际上,它将隐藏在#wrapper下。除非你这样设置:
#hide-top {
position: relative;
top: 400px;
}
然而,我的解决方案并不是改变你的CSS而是你的JQuery。您可以使用hide()函数隐藏#top。例如,请参阅我的JSFiddle。)。