相信做网站开发的朋友多少有点知道CSS hack这个词,就是由于各种浏览器对CSS的解析认识不一样,导致生成的网页效果不一样,如在IE7下显示是正常的网页,很可能在IE6或者Firefox中显示变形。所以我们在写CSS的时候就要非常了解各种浏览器的特性,来合理设置CSS,这样使得尽可能多的浏览器兼容网页。不过我相信浏览器的不断标准化,相信未来我们在做网页设计的时候就可以不要CSS hack了,希望如此,呵呵。
下面我就Internet Explorer 6、Internet Explorer 7、Mozilla Firefox目前比较流行的三款浏览器的CSS hack作下比较,这里我以设置背景颜色为例:
1、区别IE6与FF:
background:orange;*background:blue;
2、区别IE6与IE7:
background:green !important;background:blue;
3、区别IE7与FF:
background:orange; *background:green;
4、区别Firefox、IE7、IE6:
background:orange;*background:green !important;*background:blue;
注:IE都能识别*,标准浏览器(如Firefox)不能识别*
IE6能识别*,但不能识别 !important
IE7能识别*,也能识别!important
Firefox不能识别*,但能识别!important
IE6 | IE7 | Firefox | |
* | √ | √ | × |
!important | × | √ | √ |
5、下划线【_】
IE6支持下划线,IE7和Firefox均不支持下划线,如:
background:orange;*background:green;_background:blue;
注:不管是什么方法,书写的顺序都是Firefox的写在前面,IE7的写在中间,IE6的写在最后面。