日期:2014-05-17  浏览次数:20576 次

两个连续的div,一个位置绝对 一个是相对。会互相影响?
<div id="aboutInfo" style="background-color:#f4f4f4;width:540px;position: absolute;top:100px;">
<div style="position:absolute;width:100%;height:27px;top:-27px;border:3px solid">
第一个div的位置
</div>
<div style="position:relative;margin:14 10 0 19;height:100px;;border:3px solid">
第二个div的位置
</div>
</div>


<div id="aboutInfo" style="background-color:#f4f4f4;width:540px;position: absolute;top:400px;">
<div style="position:absolute;width:100%;height:27px;top:-27px;border:3px solid">
第一个div的位置
</div>
<div style="position:relative;margin:14 10 0 0;height:100px;;border:3px solid">
第二个div的位置
</div>
</div>

我的理解就是 第一个div和第二个div应该没有影响 是不是应该在不同的层次上 求教

------解决方案--------------------
这两个不会有影响
------解决方案--------------------
不会影响。。他们的位置都是相对父div而言
------解决方案--------------------
第一个aboslute的div只有在消除自身在文档流中的占位空间时,才会影响到其原本空间周围元素的定位,这时的规则是:就好像该div从文档流中消失,从未出现一样。脱离文档流之后的top,left定位不会影响任何其他元素的定位,并且它可以随意覆盖在别的元素上,可以使用z-index调整z轴的显示优先级。
第二个relative的div首先占据它在文档流中正常位置的空间,并保留这个空间一直在文档流中,随后根据top left等进行相对原位置的偏移定位(原占位空间不偏移),这时它也不影响到别的元素的定位,也可以覆盖在别的元素上。
综上所述。定义absolute的div时,第二个div向上移动,进行占位(因为第一个div已经消除了空间),随后两个div的定位互不影响。