<div class="box01"> <div class="box02"></div> </div>
.box01{position:relative; padding: 100px; background: red;} .box02{position: absolute; width: 30px; height: 30px; background: blue; top:0; left: 0;}
标准浏览器的效果:

ie6浏览器:

很明显,子元素的left值从父元素的padding-left开始计算。
一般遇到这种奇怪的现象,我都会尝试去让元素hasLayout,子元素已经hasLayout了,选择触发父元素的hasLayout.
1、设置父元素的width:100px;
ie6下效果:left问题解决。

2、设置父元素zoom:1;
ie6效果:

3、设置父元素float:left;

奇怪的现象往往可以通过触发hasLayout解决。
浙公网安备 33010602011771号