今天碰到一个绝对定位在IE6下的错误,查了好久没能解决,后来在群友的提示下用属性 overflow:auto 解决了,在此记录一下
<div id="d1" style="position:absolute; width:200px; height:1024px; border:1px solid red;">
<div id="d2" style="height:100px;">test</div>
</div>

这段代码在IE6下滚动条拖到最下方,浏览器会覆盖元素d1最下一部分内容,在其他IE测试正常
测试一下发现IE6浏览器会覆盖的条件是父元素是absolute定位,而且子元素中有固定高度的元素,具体怎么会覆盖原因不明,通过设置父元素的overflow:auto 可以解决
有人说这是父元素的高度太大的导致的,但我经过测试发现,只要是通过absolute定位的元素,包涵至少一个固定高度的元素,如果这个元素把浏览器撑出滚动条,那么最下方总是会被IE6浏览器遮住,条件是:
1.元素absolute定位,并包涵至少一个固定高度的子元素
2.这个元素把浏览器撑出滚动条了,Y方向的,X方向的没有试
IE6总是莫名其妙