Firefox 瀏覽器
@-moz-document url-prefix() {
.selector {
property: value;
}
}
支持所有Gecko內核的瀏覽器 (包括Firefox)
*>.selector { property: value; }
Webkit 內核瀏覽器
@media screen and (-webkit-min-device-pixel-ratio: 0) {
Selector {
property: value;
}
}
Opera 瀏覽器
html:first-child>b\ody Selector {property:value;}
IE 瀏覽器針對不同的版本有不同個Hack方式。
CSS Hack大致有3種表現形式,CSS類內部Hack、選擇器Hack以及HTML頭部引用(if IE)Hack,CSS Hack主要針對類內部Hack:比如 IE6能識別下划線"_"和星號" * ",IE7能識別星號" * ",但不能識別下划線"_",而firefox兩個都不能認識。等等
選擇器Hack:比如 IE6能識別*html .class{},IE7能識別*+html .class{}或者*:first-child+html .class{}。等等
方式一:HTML頭部引用(if IE)Hack:針對所有IE:<!--[if IE]><!--您的代碼--><![endif]-->,針對IE6及以下版本:<!--[if lt IE 7]><!--您的代碼--><![endif]-->,這類Hack不僅對CSS生效,對寫在判斷語句里面的所有代碼都會生效。
1. <!--[if !IE]> 除IE外都可識別 <!--<![endif]-->
2. <!--[if IE]> 所有的IE可識別 <![endif]-->
3. <!--[if IE 5.0]> 只有IE5.0可以識別 <![endif]-->
4. <!--[if IE 5]> 僅IE5.0與IE5.5可以識別 <![endif]-->
5. <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以識別 <![endif]-->
6. <!--[if IE 6]> 僅IE6可識別 <![endif]-->
7. <!--[if lt IE 6]> IE6以及IE6以下版本可識別 <![endif]-->
8. <!--[if gte IE 6]> IE6以及IE6以上版本可識別 <![endif]-->
9. <!--[if IE 7]> 僅IE7可識別 <![endif]-->
10. <!--[if lt IE 7]> IE7以及IE7以下版本可識別 <![endif]-->
11. <!--[if gte IE 7]> IE7以及IE7以上版本可識別<![endif]-->
(2)方式二 類內屬性前綴法
-
“-″減號是IE6專有的hack
-
“\9″ IE6/IE7/IE8/IE9/IE10都生效
-
“\0″ IE8/IE9/IE10都生效,是IE8/9/10的hack
-
“\9\0″ 只對IE9/IE10生效,是IE9/10的hack
(3)CSS hack方式三:選擇器前綴法
IE 9
:root Selector {property: value\9;}
IE 9-
Selector {property: value\9;}
IE 8
Selector {property: value/;}
或:
@media \0screen {
Selector {property: value;}
}
IE 8 +
Selector {property: value\0;}
IE 7
+html Selector{property:value;}
或:
*:first-child+html Selector {property:value;}
IE 7-
Selector {*property: value;}
IE 6
Selector {
_property: value;
}
或者:
*html Selector {
property: value;
}
例如:
div{
background
:
green
;
/*forfirefox*/
*
background
:
red
;
/*forIE6*/
(bothIE
6
&&IE
7
)
}
background
:orange;*
background
:
green
;
_background
:
blue
;
background
:orange;*
background
:
green
!important
;*
background
:
blue
;