针对IE6,IE7,firefox的CSS hack写法:
区别IE6
与FF
:
与FF
:
background:orange
;*
background:blue
;
;*
background:blue
;
区别IE6
与IE7
:
与IE7
:
background:green
!important
;background:blue
;
!important
;background:blue
;
区别IE7
与FF
:
与FF
:
background:orange
;
*
background:green
;
;
*
background:green
;
区别FF
,IE7
,IE6
:
,IE7
,IE6
:
background:orange
;*
background:green
!important
;*background:blue
;
;*
background:green
!important
;*background:blue
;
注:
IE都能识别*;标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important,
IE7能识别*,也能识别!important;
FF不能识别*,但能识别!important;
IE6 | IE7 | FF | |
* | √ | √ | × |
!important | × | √ | √ |
另外再补充一个,下划线"_
",
IE6支持下划线,IE7和firefox均不支持下划线。
于是大家还可以这样来区分IE6
,IE7
,firefox
: background:orange
;*
background:green
;_
background:blue
;
注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。
IE6跟Firefox之间的差异问题可以用 !important 来解决(这种方法尽量少用),但是IE7似乎还是不认识 !important
,而且它跟IE6之间也存在一些差异。浏览器的不一致性总是让人很头疼!
下面分别给出IE6/IE7/Firefox的hack代码:
#example { color: #333; } /* Firefox */* html #example { color: #666; } /*
IE6 */*+html #example { color: #999; } /* IE7 */
那么在Firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999,他们之间互不干扰。