CSS !Important及感嘆號(!) hack的應用

!important是咱們在解決css ie6兼容性問題中最經常使用到一個語法,很多人誤覺得!important是一種hack,實際上,!important是CSS1就定義的語法,做用是提升指定樣式規則的應用優先權,只是ie6不支持而已。以下:css

body
{
color: black !important; /* IE6以上版本及其餘瀏覽器中的顏色*/
color: blue;/*ie6中的顏色*/
}瀏覽器

實際上,在上面的例子中,ie6並不是不能識別!important前面的屬性「black」,只是ie6不能識別!important前面的屬性「black」的優先級。以下:ide

body
{
color: blue;
color: black !important; /* 全部瀏覽器中都會顯示黑色,固然這樣的寫法毫無心義*/
}字符串

不難看出,!important所賦予其以前的屬性值的高優先級只是瀏覽器的一個怪癖而已,實際上,IE7及更早版本的IE瀏覽器接受任意字符串替代important,而且會正常處理」!「以前的css屬性值,而其它瀏覽器則會忽略。以下:博客

body
{
color: black; /*IE7以上版本IE及其餘瀏覽器顯示黑色*/
color: blue !ie; /*IE7及如下版本IE顯示藍色*/
}it

這裏"!"+"任意字符串"相似於星號(*)的做用,只識別IE7及如下版本IE。以下,可實現一樣的效果。class

body
{
color: black; /*IE7以上版本IE及其餘瀏覽器顯示黑色*/
*color: blue; /*IE7及如下版本IE顯示藍色*/
}import

轉載請註明轉自五月蘭博客,http://www.wuyuelan.com兼容性

相關文章
相關標籤/搜索