HACK原理:不一樣瀏覽器對各中字符的識別不一樣 (讀完文章你會發現,FF和IE8對如下字符的識別能力徹底相同)html
在 CSS中經常使用特殊字符識別表:瀏覽器
(1)*: IE6+IE7都能識別*,而標準瀏覽器FF+IE8是不能識別*的;字體
(2)!important: 除IE6不能識別 !important外, FF+IE8+IE7都能識別!important ;spa
(3)_ : 除IE6支持_ 外, FF+IE8+IE7都不支持_;htm
(4)9:全部IE瀏覽器都識別(IE六、IE七、IE八、IE9)ci
示例:it
(1)區別FF(IE8)與IE6 IE7io
backgorund:orange; FF和IE8背景色將爲橘黃色table
*backgorund:red; IE6和IE7背景色將爲紅色import
(2)區別FF(IE8)與IE6與IE7
background:orange; FF和IE8背景色將爲橘黃色
*background:red !important; IE7背景色將爲紅色
*background:blue; IE6背景色將爲藍色
(3)區別FF(IE8)與IE6與IE7
background:orange; FF和IE8背景色將爲橘黃色
*background:red; IE7背景色將爲紅色
_background:blue; IE6背景色將爲藍色
(4)區別FF與IE6 IE7 E8
color:gray; FF等非IE瀏覽器字體色將爲灰色
color:red9; IE8 IE9字體色將爲紅色
*color:green; IE7字體色將爲綠色
_color:blue; IE6字體色將爲藍色
提示:CSS HACK書寫順序:先寫FF等非IE瀏覽器所需樣式,其次寫IE8所需樣式,接着是IE7的,再接着纔是IE6的!
總結:實際運用中我感受比較少用到!important ,只要你記住」*」和」_」我想就足夠區別於FF(IE8)與IE6與IE7了.
瀏覽器兼容代碼:
瀏覽器 符號 |
IE6 |
IE7 |
IE8 |
FF |
* |
√ |
√ |
× |
× |
!important |
× |
√ |
× |
√ |
_ |
√ |
× |
× |
× |
9 |
× |
× |
√ |
× |
*html |
√ |
× |
× |
× |
*+html |
× |
√ |
× |
× |