[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 這個是沒有初始化的指標,結果直接顯...