說到瀏覽器相容性問題,就必須說css hack!提到hack大家肯定會想到電腦黑客(hacker)、和病毒程式聯絡到一塊,不過在css中,hack是指一種相容css在不同瀏覽器中正確顯示的技巧方法。說的更直白一些就是,你平時做個頁面,布局正確,css正確,可就是在不同的瀏覽器中顯示的效果不一樣,要麼錯位,要麼多幾個畫素,怎麼都找不到原因,這時候我們就會用一些技巧方法來讓不同的瀏覽器顯示一樣的效果,這種方法我們就稱之為css hack,記住嘍程式設計客棧,css hack是解決頁面瀏覽器不相容的技巧方法,是一種方法喲,不要理解偏差。
不過這裡需要說明一點,css hack都屬於個人對css**的非官方修改,所以編寫的css**不會通過官方w3c的認證,這個要知道!以後經常會遇到這種情況,css寫的正確,通過w3c驗證,但是不同瀏覽器顯示效果不一樣,用了css hack,顯示的效果一樣了,卻又通不過w3c驗證了,很是鬱悶,不過不要鑽牛角尖就是了,w3c驗證只不過是幫你檢查一下css**寫的有沒有語法錯誤而已,通過驗證只不過是說明你到目前寫的css**沒有語法錯誤而已,不要太計較是否通過驗證,也不要多想,如果通不過w3c驗證,其他人會不會笑話我,這些想法都是沒有必要的,這說明我們的技能更強,因為我們用到了css hack,再說了你的頁面是給網民看的,網民看的是介面好看不好看,內容好不好,有沒有找到他要找的東西,他不理會你的頁面有沒有通過w3c驗證,所以kwoojan在這裡提醒大家,不要落入這個誤區喲~
好,我們開講!
這節課我主要講兩個最常用的css hack,如果這兩個能明白,再學其他的hack就容易了
(1)!important (2)*
!important
【例子】
複製**
**如下:
#content
它所附加的生命擁有最高優先順序,但是由於ie6不能識別它,www.cppcns.com而對於ie7,ff均能識別,所以我們就可以用來來解決一些頁面,在ie6上顯示的效果與ie7、ff上的效果不一樣的情況。
在上面的例子中
ie7和ff遇到附加有!important的css屬性,就會只解析第一句「height:960px !important;」將高度定為960px,而後面的「height:900px;」將不解析,忽略它;
因為ie6不認識附加有!important的語句,所以會跳過第一句,忽略此句,直接解析第二句「height:900px;」將高度定為900px;
注意:附加有「!important」的語句一定要在沒有附加「!important」的語句的上面,順序一定不能錯!
* 複製**
**如下:
#content
由於ie8以下的版本(不包含ie8)和360可以識別附加有*的css屬性語句,ff則不能識別,所以我們就可以用來來解決一些頁面,在ie上顯示的效果與ff上的效果不一樣的情況。
在上面的程式設計客棧例子中
因為ff不識別*,所以它唯讀第一句「height:960px;」而忽略第二句,又因ie6、ie7識別*,所以它們先讀第一句,將高度定為960px,而後又讀第二句「*height:900px;」,將高度從960px修改為900px,所以我們在ie中看到的最終效果就是高度為900px;
注意:附加有「*」的語句一定要在沒有附加「*」的語句的下面,順序一定不能錯!你想想就知道!
本文標題: css hack 有關瀏覽器相容方面
本文位址: /web/css/29353.html
簡單相容瀏覽器(CSS hack)
把目前瀏覽器歸納一下,firefox opera safari chrome ie8歸一類,ie7 和 ie6 分別歸一類。雖然ie8還有許多地方不標準,好在絕大多數常用的算是統一了,所以放到第一類。很明顯,按著第一類的標準寫web,就基本在各類瀏覽器裡通行了,但用的人最多的是ie7和6,考慮到第一...
解決瀏覽器相容 CSS HACK
我們在做頁面時不可避免的會碰到瀏覽器相容問題,特別是 ie6,那麼要如何相容所有瀏覽器呢,答案是 css hack。還有一些 css hack 我沒用羅列出來,譬如 chrome,opera 等等。對於這些通常情況下我們是用不到的。測試的瀏覽器 ie6 9,firefox,chrome ps 最好的...
hack 瀏覽器相容css hack)
1.hack的原理 由於不同的瀏覽器對css的支援及解析結果不一樣,還由於css中的優先順序的關係。我們就可以根據這個來針對不同的瀏覽器來寫不同的css。css hack大致有3種表現形式,css類內部hack 選擇器hack以及html頭部引用 if ie hack,css hack主要針對類內部...