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+的清除浮动的方法 就可以完美结局 :)