什麼是CSS hack

xssh913913發表於2007-11-26
  http://www.gold98.net/faq/2007927544500.html(zhuan)

什麼是CSS hack

由於不同的瀏覽器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,對CSS的解析認識不一樣,因此會導致生成的頁面效果不一樣,得不到們所需要的頁面效果。

這個時候們就需要針對不同的瀏覽器去寫不同的CSS,讓它能夠同時相容不同的瀏覽器,能在不同的瀏覽器中也能得到們想要的頁面效果。

這個針對不同的瀏覽器寫不同的CSS code的過程,就叫CSS hack,也叫寫CSS hack

CSS Hack的原理是什麼

由於不同的瀏覽器對CSS的支援及解析結果不一樣,還由於CSS中的優先順序的關係。們就可以根據這個來針對不同的瀏覽器來寫不同的CSS。

比如 IE6能識別下劃線_星號*,IE7能識別星號*,當不能識別下劃線_,而firefox兩個都不能認識。等等

書寫順序,一般是將識別能力強的瀏覽器的CSS寫在後面。下面如何寫裡面說得更詳細些。

如何寫CSS Hack

比如要分辨IE6和firefox兩種瀏覽器,可以這樣寫:

<style>   div{        background:green; /* for firefox */        *background:red;  /* for IE6 */    }    </style>   <div>在IE6中看到是紅色的,在firefox中看到是綠色的。</div>  

解釋一下:
上面的css在firefox中,它是認識不了後面的那個帶星號*的東東是什麼的,於是將它過濾掉,不予理睬,解析得到的結果是:div{background:green},於是理所當然這個div的背景是綠色的。
在IE6中呢,它兩個background都能識別出來,它解析得到的結果是:div{background:green;background:red;},於是根據優先順序別,處在後面的red的優先順序高,於是當然這個div的背景顏色就是紅色的了。

 

相關文章