详解CSS中zoom属性或overflow:auto属性清除浮动的作用
前言
其实在CSS中的Zoom这个属性一般不为人知,甚至有些CSS手册中都查询不到。其实Zoom属性是IE浏览器的专有属性,Firefox等浏览器不支持。它可以设置或检索对象的缩放比例。除此之外,它还有其他一些作用,比如触发ie的hasLayout属性,清除浮动、清除margin的重叠等。
因为Zoom属性是IE浏览器的专有属性,所以他清除浮动作用只适用于IE浏览器,而Firefox、google等浏览器则需要使用overflow:auto属性来清除浮动。所以要达到兼容IE6、IE7、IE8、Firefox、google浏览器的时候就必需使用这两个属性。
我们在重构页面的时候经常会使用到一个大容器里面包含多个浮动小容器的布局,但是如果外面这个大容器的没有设置固定的高度值,那么大容器高度不会随着里面小容器高度变化而变化,产生内容溢出的现象,这时只需要清除浮动就会恢复正常。所以只要给外面大容器加上overflow:auto的属性,可以解决IE7和火狐浏览器下的清除浮动问题,但是IE6下不生效,所以我们还需要使用zoom这个IE的私有属性来达到彻底清楚浮动的兼容效果。
实例代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>MJBlog</title> <style type="text/css"> .box{ width:300px; height:auto; background-color: #000000; margin:100px auto; padding:5px; } .box h2{ width:300px; line-height:24px; color:#CCCCCC;} .xx { width:140px; float:left; height:24px; overflow:hidden; padding:0px 5px; line-height:24px; color: #FF9933;} .za{overflow:auto; zoom:1} .zb{overflow:auto;} .zc{zoom:1;} </style> </head> <body> <div class="box"> <h2>这个没加overflow:auto和zoom:1属性,没有清除浮动,底下的li产生溢出重叠现象</h2> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> </div> <div class="box za"> <h2>这个加overflow:auto和zoom:1属性,清除浮动,正常</h2> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> <div class="xx">福州酒吧万圣节派对活动</div> </div> </body> </html>
总结
以上就是关于CSS中zoom属性和overflow:auto属性清除浮动作用的全部内容,希望本文的内容对大家的工作或者学习能有所帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
- 小编之前遇到一次这个bug解决之后,今天又遇到,还是不明白,于是搜索发现解决方法很简单,现在分享出来给大家一起看看。2016-09-05
DIV背景图片在Firefox下不显示通过overflow:auto可解决
div里加入背景图片,可是在Firefox下却无法正确显示背景图片,通过overflow:auto便可解决此问题,感兴趣的朋友可以参考下哈,希望对大家有所帮助2013-07-03CSS教程:导致一些问题的overflow-CSS教程-网页制作-网页教学网
overflow有问题吗?没问题。那为什么说要慎用呢?因为有时会导致一些问题。。。 关于overflow:auto的,很多人贪他书写方便,直接用来清除浮动。但是Firefox使用overflow:au2008-10-17- 这篇文章主要介绍了overflow:auto的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-19
最新评论