返回首页
当前位置: 主页 > 开发手册 > Html >

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

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




代码如下:
 
 
  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="#FFFFFF"> 
  7. <div class="content"> 
  8.      <div class="text"></div> 
  9. </div> 
  10. </body> 

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




代码如下:

 

  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="#FFFFFF"> 
  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="#FFFFFF"> 
  7. <div class="content"> 
  8.      <div class="text"></div> 
  9. </div> 
  10. </body> 

要实现高度自增,背景色也增加,IE6下不能单独设高!

 

网页来源:http://www.aiduowan.cn/read-htm-tid-81.html

顶一下
(1)
50%
踩一下
(1)
50%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容

合作伙伴