zoom在清除浮动中的利用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zoom在清除浮动中的利用相关的知识,希望对你有一定的参考价值。

  zoom 是个困惑了好久的元素,今天对它有了个初步的认识

  zoom , ie 的专属属性,在其他浏览器中不起作用,它的原本功能是设置或检测对象的缩放比例(只在ie下起作用)
比如  
<div style="background:#f0f3f9; padding:20px; zoom:2;">
    <img data-src="http://XXXXX.jpg" border="0" />
</div>

在ie中它会使图片放大两倍显示。

在我们日常见到这个玩意的时候他一般用于浮动的清除,老的说法是可以触发ie的haslayout 来清除浮动

在 非ie 和 ie7及其以上版本的浏览器中,可以使用 overflow :hidden 等方法来进行清除浮动
可是在ie6 及其以下的浏览器中并不能正确的理解 overflow 这个属性,这是早期ie的一个bug
所以我们就可以用以下方式来清除浮动:
<div style="zoom:1; background:#f0f3f9; padding:20px;">
    <img style="float:left;" data-src="http://XXXXX.jpg" />
</div>

在ie6 及其以下的浏览器中,div 便有了高度, 此时再给它加上 其他浏览器和ie8+的清除浮动的方法 就可以完美结局  :)

以上是关于zoom在清除浮动中的利用的主要内容,如果未能解决你的问题,请参考以下文章

清除浮动的方式

使用after伪类,配合IE的zoom或者overflow清除浮动

.clearfix 清除浮动,@import

css的浮动以及如何清除浮动

清除浮动的方法

清除浮动之父级div定义伪类:after和zoom