CSS hack的簡單理解

2021-08-23 15:48:58 字數 1517 閱讀 8543

[b]首先理解什麼是css hack[/b]

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

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

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

[b]css hack的原理是什麼

[/b]

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

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

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

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

我在ie6,ie7中看到是藍色的,在firefox中看到是紅色的。

解釋一下:

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

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

ie6能識別*,但不能識別 !important,

ie7能識別*,也能識別!important;

ff不能識別*,但能識別!important;

ie6 ie7 ff

* √ √ ×

!important × √ √

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

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

於是大家還可以這樣來區分ie6,ie7,firefox

: background:orange;*background:green;_background:blue;

下面10個非常有用的css hack和技術

[url]

舉了幾個例項,供參考。

voice-family:」\」}\」";

voice-family:inherit;

property:value;

p\roperty:value;

/*/*/property:value;/* */

/*/*//*/property:value;/* */

div#test

head:first-child body div

WEB前端 CSS Hack簡單記錄

hack可能用的不多,現在先簡單了解一下下啦 什麼時候用hack呢?介面 css什麼的都是正確的版本,但是呢,不同的瀏覽器或者是相同的瀏覽器不同的版本,你會發現本來好好的介面怎麼亂了呢?其實這個時候就可以考慮一下下用css hack了。hack分為條件hack 屬性級hack 選擇符hack。下面簡...

簡單相容瀏覽器(CSS hack)

把目前瀏覽器歸納一下,firefox opera safari chrome ie8歸一類,ie7 和 ie6 分別歸一類。雖然ie8還有許多地方不標準,好在絕大多數常用的算是統一了,所以放到第一類。很明顯,按著第一類的標準寫web,就基本在各類瀏覽器裡通行了,但用的人最多的是ie7和6,考慮到第一...

「!」的簡單理解

今天看了乙個 有這樣一句 plisthead plisthead,ptobedeleted if plisthead ptobedeleted 之前一直不理解,這個!指標的模式表示的是指標沒有初始化,還是指標為空。於是我做了乙個兩個實驗,如下 int p if p 這個是沒有初始化的指標,結果直接顯...