CSS中不为人知Zoom属性的应用介绍(IE私有属性)

其实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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值