沃梦达 / IT编程 / 前端开发 / 正文

ie7中overflow:auto无效的解决方法

下面我就为您详细讲解在IE7中解决overflow:auto无效的两种方法。

下面我就为您详细讲解在IE7中解决overflow:auto无效的两种方法。

方法1:使用zoom:1来触发IE7的hasLayout属性

在IE7中overflow: auto属性常常会失效,这是因为IE7默认没有触发元素的“hasLayout”属性。解决这个问题的方法是为元素添加zoom: 1属性即可。

.box {
  overflow: auto;
  zoom: 1;
}

方法2:使用position:relative属性

另外一种IE7的overflow缺陷解决办法是使用position:relative属性。在使用该方法时,应该将包含元素设置为position:relative,并将需要滚动的元素设置为position:absolute。这会触发IE7的hasLayout属性,并使overflow:auto属性正常工作。

<div class="wrapper" style="position: relative;">
  <div class="content" style="position: absolute; left: 0; top: 0; bottom: 0; right: 0; overflow: auto;">
    <!-- 内容 -->
  </div>
</div>

需要注意的是,使用这种方法可能会影响布局,所以应该谨慎使用。

希望这两种方法能帮助您解决在IE7中overflow:auto无效的问题。

本文标题为:ie7中overflow:auto无效的解决方法