本文主要是介绍zoom:1的原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前端常见的问题zoom:1的作用,很多人都知道是清除浮动,触发IE的haslayout属性。
ZOOM属性
zoom属性是IE浏览器的专有属性,可以设置或检索对象缩放比例,也就是作用在于缩放元素。设置zoom:1可以在IE6以下清除浮动、解决margin导致重叠等问题。
使用场景:常用来解决一些ie特有的bug
当IE遇到问题的时候,尤其是IE67,zoom:1 可以激活BFC,然后激活BFC后就可以解决好多问题。 通常,当浮动子元素导致父元素塌陷的时候,只要给父元素加上overflow:hidden ;来解决,但是对于IE67不行,需要触发其hasLayout(有布局)属性才可以 。
zoom:1 就是IE6 专用的 触发 haslayout 属性的。在IE中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。当一个元素的hasLayout属性值为true时,它负责对自己和可能的子孙元素进行尺寸计算和定位。
通常,在给低版本的IE做兼容的时候会用到zoom:1。为了防止版本的IE浏览器不支持after选择器或者某些属性,在最后加上zoom:1来清除浮动。例如,清除浮动的时候,我们会这么写
.clearfix::after{content: ".";clear: both;display: block;visibility: hidden;overflow: hidden;height: 0;*zoom:1
}
这篇关于zoom:1的原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!