使用zoom、overflow解决IE6、IE7、FF下嵌套容器清除浮动问题

所属栏目:兼容性问题 时间:2014-01-10 来源:网络 作者:不详 点击:

  我们经常碰到一个容器外面套一个边框,边框高度随容器高度变化,但是当边框内容器设置了浮动属性后,外框就不跟随变化,这时就需要清除浮动。给外边框容器加上overflow:auto的属性,可以解决IE7和FF下的清除浮动问题,但是IE6下不生效,我们需要使用IE的一个私有属性zoom使IE5.5 的浏览器达到外框跟随变化的效果。

  需要注重的几个细节问题,例如我们建立一个样式为text的容器,宽200象素,高度自适应,外面包一个样式为content的10象素的外框。(如图1)

图1

代码如下:

<style type="text/css"> 
.content{ border:10px solid #F00;} 
.text{ width:200px; height:300px; background:#000;} 
</style> 
  
<body bgcolor="#FFFFFF"> 
<div class="content"> 
<div class="text"></div> 
</div> 
</body>

  假如我们为text容器设置了左浮动的属性,并将content容器定义了200象素的宽,就需要为content容器增加overflow:auto属性,以清除text容器的浮动。否则FF下则会出现问题。(如图2)

图2
代码如下:

<style type="text/css"> 
.content{ border:10px solid #F00; width:200px; overflow:auto;} 
.text{ width:200px; height:300px; background:#000; float:left;} 
</style> 
 
<body bgcolor="#FFFFFF"> 
<div class="content"> 
<div class="text"></div> 
</div> 
</body>

  除此之外还有一种比较非凡的情况,假如在不设定content宽度的情况下,仅仅使用overflow:auto,在IE5.5 下是无法实现清除浮动的效果的。为此我们需要使用一个IE的私有属性zoom来使IE下达到所需效果。

代码如下:

<style type="text/css"> 
.content{ border:10px solid #F00; overflow:auto; zoom:1;} 
.text{ width:200px; height:300px; background:#000; float:left;} 
</style> 
 
<body bgcolor="#FFFFFF"> 
<div class="content"> 
<div class="text"></div> 
</div> 
</body>


请站长喝杯咖啡?

站长一直坚持白天工作、晚上熬夜更新素材,付出了巨大的精力和时间,其中的辛酸难以言述。

坚持免积分、免登录、无任何限制下载!如果本站素材对你有用,不妨考虑请站长喝杯咖啡鼓励一下!

标签:

你应该也喜欢这些吧

共有 0 条评论

给个评价吧

验证码: