IE6/7在滚动区域内的标签使用position会飘出这个滚动区域不随滚动条滚动

(编辑:jimmy 日期: 2024/11/1 浏览:2)

最近才发现IE6、IE7存在这样一个BUG:在滚动区域(DIV中)内,如果里面的标签使用了position(absolute/relative),则会飘出这个滚动区域,且不会随滚动条而滚动(静止不动)。如下所示(只在IE6和IE7中才会出现此BUG):

测试        

测试        

测试        

测试        

这个是测试文字        

测试        

测试        

测试        

测试        


代码如下:

复制代码代码如下:
<div style="height:60px;overflow:auto;border:1px #ccc solid;">
<p>测试</p>
<p>测试</p>
<p>测试</p>
<p>测试</p>
<p style="position:relative;color:red;">这个是测试文字</p>
<p>测试</p>
<p>测试</p>
<p>测试</p>
<p>测试</p>
</div>


在IE6或IE7中,会发现“这个测试文字”不在滚动条区域内,由于代码受本站此页面代码的影响,所以看不到那行测试文字(页面未加载完时应该可以看到),大家可以复制代码在本地测试。
解决的方法就是:给父级(即出现滚动条的元素)添加一个position:relative;即可