CSS中 Zoom属性 介绍

    其实Zoom属性是IE浏览器的专有属性,Firefox等浏览器不支撑。它可以设置或检索对象的缩放比例。除此之外,它还有其他一些小感化,比如触发ie的hasLayout属性,清除浮动、清除margin的重叠等。
 

Zoom的应用办法:
 

zoom : normal | number
 

normal :  默认值。应用对象的实际尺寸
 

number :  百分数 | 无符号浮点实数。浮点实数值为1.0或百分数为100%时相当于此属性的 normal 值用白话讲解就是zoom:后面的数字即放大的倍数,可所以数值,也可所以百分比。如:zoom:1,zoom:120%。而这个属性只要在IE中才起感化,所以很罕用到它的实际用处,而最经常用到感化是清除浮动等,如:
 


复制代码代码如下:
.border{ 
border:1px solid #CCC; 
padding:2px; 
overflow:hidden; 
_zoom:1; 
} 


_zoom是CSS hack中专对IE6起感化的项目组。IE6浏览器会履行zoom:1默示对象的缩放比例,但这里 
overflow:hidden;和_zoom:1;是连起来用的,感化是清除border内部浮动。 


同理,还可以应用同样办法清除margin属性在IE浏览器中的重叠题目。
 

CSS中zoom:1的感化 


兼容IE6、IE7、IE8浏览器,经常会碰到一些题目,可以应用zoom:1来解决,有如下感化: 
触发IE浏览器的haslayout 
解决ie下的浮动,margin重叠等一些题目。 
比如,本站应用DIV做一行两列显示,HTML代码: 



复制代码代码如下:
<div class="h_mainbox"> 
<h2>推荐文章</h2> 
<ul class="mainlist"> 
<li><a href="#" style="color:#0000FF" target="_blank">CSS库吧</a></li> 
<li><a href="#" style="color:#0000FF" target="_blank">原创< /a></li> 
</ul> 
</div> 


CSS代码: 


复制代码代码如下:
.h_mainbox { border:1px solid #dadada; padding:4px 15px; background:url(../mainbox_bg.gif) 0 1px repeat-x; margin-bottom:6px; overflow:hidden} 
.h_mainbox h2 { font-size:12px; height:30px; line-height:30px; border-bottom:1px solid #ccc; color:#555;} 
.h_mainbox h2 span { float:right; font-weight:normal;} 
.h_mainbox ul { padding:6px 0px; background:#fff;} 
.mainlist { overflow:auto; zoom:1;} 
.h_mainbox li { width:268px; float:left; height:24px; overflow:hidden; background:url(../icon3.gif) 0 6px no-repeat; padding:0px 5px 0px 18px; line-height:200%;} 


.mainlist里面的zoom:1的那边就可以在IE6、IE7、IE8正常显示结果了。 


css中的zoom的感化 


1、搜检页面的标签是否闭合 
不要小看这条,也许折腾了你两天都没有解决的 CSS BUG 题目,却仅仅源于这里。毕竟成果页面的模板一般都是由开辟来嵌套的,而他们很轻易犯此类题目。 
快捷提示:可以用 Dreamweaver 打开文件搜检,一般没有闭合的标签,会黄色靠山高亮。 


  2、样式打消法 
有些错杂的页面也许加载了 N 个外链 CSS 文件,那么逐个删除 CSS 文件,找到 BUG 触发的具体 CSS 文件,缩小锁定的局限。 


  对于刚才锁定的题目 CSS 样式文件,逐行删除具体的样式定义,定位到具体的触发样式定义,甚至是具体的触发样式属性。 


  3、模块确认法 
有时辰我们也可以从页面的 HTML 元素出发。删除页面中不合的 HTML 模块,寻找到触发题目的 HTML 模块。 


  4、搜检是否清除浮动 
其实有不少的 CSS BUG 题目是因为没有清除浮动造成的。养成杰出的清除浮动的习惯是须要的,推荐应用 无额外 HTML 标签的清除浮动的办法(尽量避免应用 overflow:hidden;zoom:1 的类似办法来清除浮动,会有太多的限制性)。 


  5、搜检 IE 下是否触发 haslayout 
很多的 IE 下错杂 CSS BUG 都与 IE 特有的 haslayout 互相干注。熟悉和懂得 haslayout 对于处理惩罚错杂的 CSS BUG 会事半功倍。推荐浏览 old9 翻译的 《On having layout》(若是无法翻越穿越巨大的 GFW,可浏览 蓝色上的转帖 ) 
快捷提示:若是触发了 haslayout,IE 的调试对象 IE Developer Toolbar 中的属性中将会显示 haslayout 值为 -1。 


  6、边框靠山调试法 
故名思议就是给元素设置显眼的边框或者靠山(一般黑色或红色),进行调试。此办法是最常用的调试 CSS BUG 的办法之一,对于错杂 BUG 依旧实用。经济实惠还环保^^ 
最后想夸大一点的是,养成杰出的书写习惯,削减额外标签,尽量语义,合适标准,其实可认为我们削减很多额外的错杂 CSS BUG,更多的时辰其实是我们本身给本身建造了麻烦。欲望你阔别 BUG ,生活生计越来越美好。
 

具体出处参考:http://www.jb51.net/css/40285.html

 

posted on 2012-10-22 15:26  NeverGiveUp_ZONE  阅读(20533)  评论(0编辑  收藏  举报