使用zoom、overflow解决IE6、IE7、FF下嵌套容器清除浮动问题
我们经常遇到一个容器外面套一个边框,边框高度随容器高度变化,但是当边框内容器设置了浮动属性后,外框就不跟随变化,这时就需要清除浮动。给外边框容器加上overflow:auto的属性,可以解决IE7和FF下的清
使用zoom、overflow解决IE6、IE7、FF下嵌套容器清除浮动问题
我们经常遇到一个容器外面套一个边框,边框高度随容器高度变化,但是当边框内容器设置了浮动属性后,外框就不跟随变化,这时就需要清除浮动。给外边框容器加上overflow:auto的属性,可以解决IE7和FF下的清除浮动问题,但是IE6下不生效,我们需要使用IE的一个私有属性zoom使IE5.5 的浏览器达到外框跟随变化的效果。
需要注意的几个细节问题,例如我们建立一个样式为text的容器,宽200象素,高度自适应,外面包一个样式为content的10象素的外框。(如图1)
图1
代码如下:
<styletype="text/css"> .content{border:10pxsolid#F00;} .text{width:200px;height:300px;background:#000;} </style> <bodybgcolor="#FFFFFF"> <divclass="content"> <divclass="text"></div> </div> </body>
如果我们为text容器设置了左浮动的属性,并将content容器定义了200象素的宽,就需要为content容器增加overflow:auto属性,以清除text容器的浮动。否则FF下则会出现问题。(如图2)
2008101719124482877802.jpg
图2
代码如下:
<styletype="text/css"> .content{border:10pxsolid#F00;width:200px;overflow:auto;} .text{width:200px;height:300px;background:#000;float:left;} </style> <bodybgcolor="#FFFFFF"> <divclass="content"> <divclass="text"></div> </div> </body>
除此之外还有一种比较特殊的情况,如果在不设定content宽度的情况下,仅仅使用overflow:auto,在IE5.5 下是无法实现清除浮动的效果的。为此我们需要使用一个IE的私有属性zoom来使IE下达到所需效果。 代码如下:
<styletype="text/css"> .content{border:10pxsolid#F00;overflow:auto;zoom:1;} .text{width:200px;height:300px;background:#000;float:left;} </style> <bodybgcolor="#FFFFFF"> <divclass="content"> <divclass="text"></div> </div> </body>
上一页12 下一页 阅读全文 |