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


  我们经常遇到一个容器外面套一个边框,边框高度随容器高度变化,但是当边框内容器设置了浮动属性后,外框就不跟随变化,这时就需要清除浮动。给外边框容器加上overflow:auto的属性,可以解决IE7和火狐浏览器下的清除浮动问题,但是IE6下不生效,我们需要使用IE的一个私有属性zoom使IE5.5 的浏览器达到外框跟随变化的效果。
  需要注意的几个细节问题,例如我们建立一个样式为text的容器,宽200象素,高度自适应,外面包一个样式为content的10象素的外框。(如图1)

图1
使用zoom、overflow解决IE6、IE7、火狐浏览器下嵌套容器清除浮动问题 - liuwei - Liuweis Blog

      代码如下:

 1 <style type="text/css"> 
 2     .content{ border:10px solid #F00;} 
 3     .text{ width:200px; height:300px; background:#000;} 
 4 </style> 
 5 
 6 <body bgcolor="#火狐浏览器火狐浏览器火狐浏览器"> 
 7 <div class="content"> 
 8     <div class="text"></div> 
 9 </div> 
10 </body> 

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

图2
使用zoom、overflow解决IE6、IE7、火狐浏览器下嵌套容器清除浮动问题 - liuwei - Liuweis Blog

      代码如下:

 1 <style type="text/css"> 
 2     .content{ border:10px solid #F00; width:200px; overflow:auto;} 
 3     .text{ width:200px; height:300px; background:#000; float:left;} 
 4 </style> 
 5 
 6 <body bgcolor="#火狐浏览器火狐浏览器火狐浏览器"> 
 7 <div class="content"> 
 8     <div class="text"></div> 
 9 </div> 
10 </body> 

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

      代码如下:

 1 <style type="text/css"> 
 2     .content{ border:10px solid #F00; overflow:auto; zoom:1;} 
 3     .text{ width:200px; height:300px; background:#000; float:left;} 
 4 </style> 
 5 
 6 <body bgcolor="#火狐浏览器火狐浏览器火狐浏览器"> 
 7 <div class="content"> 
 8     <div class="text"></div> 
 9 </div> 
10 </body>

 



转自:http://51ui.blog.163.com/blog/static/61900372200828114494/

转载于:https://www.cnblogs.com/wuchu/p/3411890.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值