CSS相容性一直是大家頭疼的問題,IE6、IE7和FF已經讓大家夠嗆,而IE8正式版發布以來,一直在找一種區別IE8正式版的方法。
1.區別IE和非IE瀏覽器
#tip {
background:blue; /*非IE 背景藍色*/
background:red \9; /*IE6、IE7、IE8背景紅色*/
}
2.區別IE6,IE7,IE8,FF
【區別符號】:「\9」、「*」、「_」#tip {
background:blue; /*Firefox 背景變藍色*/
background:red \9; /*IE8 背景變紅色*/
*background:black; /*IE7 背景變黑色*/
_background:orange; /*IE6 背景變橘色*/
} 【說明】:因為IE系列瀏覽器可讀「\9」(也看到有用"9的 margin:0px auto“9;),而IE6和IE7可讀「*」(米字型大小),另外IE6可辨識「_」(底線),因此可以依照順序寫下來,就會讓瀏覽器正確的讀取到自己看得懂得CSS文法,所以就可以有效區分IE各版本和非IE瀏覽器(像是Firefox、Opera、Google Chrome、Safari等)。
匯總下IE各版本的css hack。
hack |
樣本 |
IE6(S) |
IE6(Q) |
IE7(S) |
IE7(Q) |
IE8(S) |
IE8(Q) |
* |
*color |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
+ |
+color |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
- |
-color |
Yes |
Yes |
No |
No |
No |
No |
_ |
_color |
Yes |
Yes |
No |
Yes |
No |
Yes |
# |
#color |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
\0 |
color\0 |
No |
No |
No |
No |
Yes |
No |
\9 |
color\9 |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
!important |
color:blue !important; color:green; |
No |
No |
Yes |
No |
Yes |
No |