解决兼容性bug的常用方法有4种:
1)选择器Hacks
2)属性Hack
3)IE注释Hack
4)浏览器探测(如js)
从可维护性和向后兼容的角度考虑,属性Hack通常是比较被推崇的,由于属性Hack并不全面,所以也常与选择器Hack搭配。
值得注意的是,各种Hack是可以相互叠加配合实现多重限制的!
Attribute Hacks:
#one {
color:grey !importent; //除了IE6及以下
_color:blue; //IE6及以下
+color:black; //IE6及以下+IE7
*color:green; //IE6及以下+IE7
color:yellow\0; //IE8
color:red\9; //IE6 7 8
}
Selecter Hacks:
*html #one{ … } //IE6及以下
html>body #one{ … } //除了IE6及以下
*+html #one{} //IE7
/*\*/
*html p { declarations } //IE/Win有效,IE/Mac无效
/**/
【摘要中的logo来自:http://www.css-hack.de/ 冒犯之处,请多包涵~】