IE zoom:1 原理 以及应用

本文介绍了解决IE6浏览器兼容性问题的方法,特别是使用zoom:1和_overflow:hidden来清除浮动及解决margin重叠等问题。同时探讨了触发haslayout以解决IE6下:hover伪类不生效的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IE zoom:1 原理

zoom: 1 
是为了 IE 早期的浏览器,有 layout 的毛病,所以用 zoom: 1 代表这个 div 是有高度宽度的
效果跟 overflow: hidden 可以装载浮动物件一样


我们经常在调试浏览器兼容的过程中,经常会用到zoom:1。

_zoom是CSS hack中专对IE6起作用的部分。IE6浏览器会执行zoom:1表示对象的缩放比例,但这里 
overflow:hidden;和_zoom:1;是连起来用的,作用是清除border内部浮动。 

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


触发IE浏览器的haslayout 
解决ie下的浮动,margin重叠等一些问题。 


5、检查 IE 下是否触发 haslayout 
很多的 IE 下复杂 CSS BUG 都与 IE 特有的 haslayout 息息相关。熟悉和理解 haslayout 对于处理复杂的 CSS BUG 会事半功倍。推荐阅读 old9 翻译的 《On having layout》(如果无法翻越穿越伟大的 GFW,可阅读 蓝色上的转帖 ) 
快捷提示:如果触发了 haslayout,IE 的调试工具 IE Developer Toolbar 中的属性中将会显示 haslayout 值为 -1

IE 里面的hasLayout

大家都知道IE6之支持<a>标签的:hover为了,但是通常在做实际效果的时候<a>标签 :hover在IE6下会失效,

看代码:

[code=”html”]

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
http://www.w3.org/1999/xhtml”>


鼠标经过时改变我的颜色

[/code]

在IE6下“颜色”根本就不会变成红色,其他浏览器都是好的,要解决这个问题就必须触发a:hover的layout,例如a:hover { display:inline-block}或者a:hover { zoom:1}等等。




转载于:https://my.oschina.net/u/615191/blog/504601

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值