总结 某个元素如果是定义了position:absolute时,则此元素会开始向上找第一个 position:relative为父级元素。 两个错误理解:
1、以浏览器为最后的父级,即始终相对浏览器来定位
2、以此元素的最近的父级为最终父级,来定位
例:
<html>
<div id="div1">
<div id="div2"></div>
<div id="div3" style="position:absolute"></div>
</div>
</html>
上面的例子所视,结果是#div3是以浏览器为最终父级来定位
<html>
<div id="div1" style="width:100px;height:100px;background:red;position:relative">
<div id="div2"></div>
<div id="div3" style="width:100px;height:100px;background:green;position:absolute"></div>
</div>
</html>
上面的例子中,#div3是以#div1来父级来进行定位的,而不是浏览器
<html>
<div id="div1"> <div id="div2" style="position:relative"></div>
<div id="div3" style="position:absolute"></div>
</div>
</html>
上面的例子,可以会让我们误以为是#div3是以#div2来进行定位的,这样是错误的, 因为虽然第一个relative离#div3很近,但不是它的父级元素 注意的是:定义了absolute和relative的元素,必须定义left、right、top、bottom ,否则没有意义了。。。