最近切的頁面設計很精緻,有那麼些難以控制兼容性的問題,沒辦法,只有用hack解決了,,雖然不贊同hack,可是既然是頁面佈局,總以爲不要搭上javascript來解決,下面也總結下CSS hack瀏覽器兼容。
區別IE和非IE瀏覽器
background:blue; /*非IE 背景藍色*/
background:red \9; /*IE六、IE七、IE8背景紅色*/
區別IE6,IE7,IE8,FF
background:blue; /*Firefox 背景變藍色*/
background:red \9; /*IE8 背景變紅色*/
*background:black; /*IE7 背景變黑色*/
_background:orange; /*IE6 背景變橘色*/
瀏覽器都能識別「\9」,而IE6和IE7可識別「*」,另外IE6可認識「_」
區別IE六、IE七、Firefox 【區別符號】:「*」、「!important」
background:blue; /*Firefox 背景變藍色*/
*background:green !important; /*IE7 背景變綠色*/
*background:orange;
/*IE6 背景變橘色*/ }
IE7能夠辨識「*」和「!important」,可是IE6只能夠辨識「*」,卻沒法辨識「!important」,至於Firefox能夠讀取「!important」但不能辨識「*」
上面舉了幾個實例,按順序來寫,通常能夠達到想要的效果,可是本人不怎麼推薦用hack解決兼容性問題,最後多用兼容性的標籤,div儘可能避免嵌套等等,用良好的佈局習慣作到兼容。
【附:css hack 表】