什麼是CSS hack及寫法。

2021-04-13 04:37:56 字數 1695 閱讀 5255

由於不同的瀏覽器,比如internet explorer 6,internet explorer 7,mozilla firefox等,對css的解析認識不一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。

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

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

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

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

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

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

<

style

>

div  

style

>

<

div>我在ie6中看到是紅色的,在firefox中看到是綠色的。

div>

解釋一下:

上面的css在firefox中,它是認識不了後面的那個帶星號*的東東是什麼的,於是將它過濾掉,不予理睬,解析得到的結果是:div,於是理所當然這個div的背景是綠色的。

在ie6中呢,它兩個background都能識別出來,它解析得到的結果是:div,於是根據優先級別,處在後面的red的優先順序高,於是當然這個div的背景顏色就是紅色的了。

區別 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;

ie6ie7ff*

√√×!important×√

√ 另外再補充乙個,下劃線"

_",ie6支援下劃線,ie7和firefox均不支援下劃線。

於是大家還可以這樣來區分

ie6,

ie7,

firefox

: background:

orange;

*background:

green;

_background:

blue;

注:不管是什麼方法,書寫的順序都是firefox的寫在前面,ie7的寫在中間,ie6的寫在最後面。

附:css的各種瀏覽器相容一欄表

什麼是CSS hack及寫法。

什麼是css hack 由於不同的瀏覽器,比如internet explorer 6,internet explorer 7,mozilla firefox等,對css的解析認識不一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。這個時候我們就需要針對不同的瀏覽器去寫不同的css,讓...

CSS HACK什麼意思

什麼是css hack 由於不同的瀏覽器,比如internet explorer 6,internet explorer 7,mozilla firefox等,對css的解析認識不一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。這個時候我們就需要針對不同的瀏覽器去寫不同的css,讓...

區別不同瀏覽器,CSS hack寫法

區別 ie6 與 ff background orange background blue 區別 ie6 與 ie7 background green important background blue 區別 ie7 與 ff background orange background green 區...