首頁 >web前端 >css教學 >css hack原理

css hack原理

高洛峰
高洛峰原創
2016-11-24 13:32:301618瀏覽

最近看了幾篇關於css hack的文章,覺得不錯整理一下。

css hack很多人不理解它的原理,其實大家都知道對於不同的瀏覽器,CSS的解析程度不一樣,因此會導致生成的頁面效果不一樣;特別是對於IE這種蛇精病的瀏覽器來說,這個時候我們就需要針對不同的瀏覽器(特別是IE)去寫不同的CSS,這個過程就叫做css hack.而不是那個hack,可以說css hack是一種借助於不同瀏覽器之間規則標準的不同而實現相容性的一種「曲線救國」的策略,雖然如此,我們還是希望世界大同,有個統一的標準能夠統一瀏覽器規範T T

css hack主要依據的是

1 .瀏覽器對CSS的支援及解析結果不一樣;

2.CSS中的優先順序的關係。

常用的CSS hack 有三種方式,CSS 內部hack、選擇器hack、HTML 頭部引用,其中第一種最常用。

A.css 內部hack:

CSS 內部hack 語法是這樣的 selector{?property:value?;} 例如IE6能辨識下劃線"_"和星號"*",IE7能辨識星號"*",但不能辨識下劃線"_",而firefox兩個都不能認識。對於書寫順序的關係,一般是將辨識能力強的瀏覽器的CSS寫在後面。

<style> 
div{  
    background:green;/*forfirefox*/  
    *background:red;/*forIE6 IE7*/ 
}  
</style>

這樣的話就成功對IE6,7 做了一次hack;


再比如,「!important」的寫法只有IE6不能識別,其它版本IE及現代瀏覽器都可以識別

其它版本IE及現代瀏覽器都可以識別,還有“+”、“

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn