CSS中 Zoom属性

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 ,生活生计越来越美好。

posted @ 2017-04-16 11:00 惠远建 阅读(...) 评论(...) 编辑 收藏