文章目錄
如何寫CSS Hack
比如要分辨IE6和firefox兩種瀏覽器,可以這樣寫:
- <style>
- div{
- background:green; /* for firefox */
- *background:red; /* for IE6 */
- }
- </style>
- <div>我在IE6中看到是紅色的,在firefox中看到是綠色的。</div>
[xml] view plaincopy
- <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的背景顏色就是紅色的了。
CSS hack:區分IE6,IE7,firefox 區別不同瀏覽器,CSS hack寫法:
區別IE6與FF: background:orange;*background:blue;
區別IE6與IE7: background:green !important;background:blue;
區別IE7與FF: background:orange; *background:green;
區別FF,IE7,IE6: background:orange;*background:green !important;*background:blue;
註:IE都能識別*;標準瀏覽器(如FF)不能識別*;IE6能識別*,但不能識別 !important,IE7能識別*,也能識別!important;FF不能識別*,但能識別!important;
|
IE6 |
IE7 |
FF |
* |
√ |
√ |
× |
!important |
× |
√ |
√ |
另外再補充一個,底線"_",
IE6支援底線,IE7和firefox均不支援底線。
於是大家還可以這樣來區分IE6,IE7,firefox
: background:orange;*background:green;_background:blue;
註:不管是什麼方法,書寫的順序都是firefox的寫在前面,IE7的寫在中間,IE6的寫在最後面。