css hack的几种方式

css hack的几种方式:

  • 基于浏览器解析错误的过滤器:IE for Mac带通过滤器
    (利用css注释中的转义bug)
/*\*//*/
    @import "ie5mac.css";
/**/
IE5 for Mac会错误地转义第二个星号,导致应用了@import规则
    其他所有浏览器会正确的忽视转义元素,(因为它被放在注释中)

IE5 for Mac看到的代码是:

/* blah */
    @import "ie5mac.css";
/**/

其他所有浏览器看到的是:

/* blah *//*
    blah
/**/
  • 星号HTML hack
    (针对IE6及以下)

    正如我们知道的,html元素被认为是网页上第一个元素,即根元素。但是,IE的老版本中有一个匿名的根元素,它包围着html元素。所以我们可以利用这一点,使用通用选择器指定包围在另一个元素中的html元素,从而达到控制IE6及以下版本的浏览器的样式。
    
#content {
    width:200px;
}

* html #content {
    width:100px;
}
  • 子选择器hack

    我们知道,css的设计具有很强的向前兼容性:如果浏览器不理解某个选择器,那么它会忽略掉整个规则;如果它不理解某个属性或值,它就会忽略掉整个声明。
    这样我们就可以放心大胆的使用高级浏览器。
    
html>body {
    background-image: url(bg.png);
}

这条规则对于新版浏览器都可以正常显示,但IE5,IE6则会忽视。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值