CSS ——浏览器兼容问题

第一,IE6,不支持小于12px的盒子,任何小于12px的盒子,在IE6中看都大

解决办法很简单,就是将盒子的字号,设置小(小于盒子的高),比如0px

height: 4px;

_font-size: 0px;

浏览器hackhack就是“黑客”,就是使用浏览器提供的后门,针对某一种浏览器做兼容。

IE6留了一个后门,就是只要给css属性之前,加上下划线,这个属性就是IE6认识的专有属性。

比如:

_background-color: green;

解决微型盒子,正确写法:

height: 10px;

_font-size:0;


第二,
IE6不支持用overflow:hidden;来清除浮动的

解决办法,以毒攻毒。追加一条

_zoom:1;


完整写法:

overflow: hidden;

_zoom:1;

实际上,_zoom:1;能够触发浏览器hasLayout机制。这个机制,就IE6有。

 强调一点, overflow:hidden;的本意,就是溢出盒子的border的东西隐藏,这个功能是IE6兼容的。不兼容的是overflow:hidden;清除浮动的时候。

这两个IE6的兼容问题,都是通过多写一条hack来解决的。

这个我们称为伴生属性。

height:6px;

_font-size:0;

overflow:hidden;

_zoom:1;

关于margin的IE6兼容问题

IE6双倍margin bug

当出现连续浮动的元素,携带和浮动方向相同的margin时,队首的元素,会双倍marign

<ul>

<li></li>

<li></li>

<li></li>

</ul>

 解决方案:

1)使浮动的方向和margin的方向,相反。

所以,你就会发现,我们特别喜欢,浮动的方向和margin的方向相反。并且,前端开发工程师,把这个当做习惯了。

float: left;

margin-right: 40px;

2)使用hack(没必要,别惯着这个IE6

单独给队首的元素,写一个一半的margin

<li class="no1"></li>

ul li.no1{

_margin-left:20px;

}


IE63px bug

解决办法:

不用管,因为根本就不允许用儿子踹父亲。所以,如果你出现了3px bug,说明你的代码不标准。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值