婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 解決IE5/IE5.5/IE6/FF的兼容性問題——CSS

解決IE5/IE5.5/IE6/FF的兼容性問題——CSS

熱門標簽:蘇州通信外呼系統多少錢 沈陽智能外呼系統排名 山西旅游景地圖標注 武漢人工外呼系統 北川縣地圖標注 中國地圖標注各省份 荒野大鏢客2地圖標注怎么變中文 上古卷軸5地圖標注mod 移動400辦理電話
轉自 藍色理想 
作者 bias
原文地址 http://www.blueidea.com/tech/site/2006/3296.asp 
之前找了幾個不同版本的可獨立運行的IE瀏覽器,正好拿來試試頁面的兼容性問題。不試不知道,在IE6和FF中沒問題的頁面在IE5和IE5.5中亂成一團,一直聽說IE5是WEB標準制作的一個“釘子戶”,現在不得不相信了。

既然有問題,那就找找解決的方法咯,在網上一搜,相關的文章還是不少的,覺得最直接的方法還是“IE條件注釋”,很方便的就能為IE的不同版本寫樣式。但這樣就得為每個版本寫一個樣式,不利于文件的優化。

找了一些相關的CSS HACK后,覺得應該可以把IE5/IE5.5/IE6/FF的HACK寫到一起的,經過測試,終于找到了一個不錯的方法,下面我們來看看怎么實現:
大家都知道用!important聲明可以提升指定樣式規則的應用優先權,如下面的例子:
-------------------------------------------------
復制代碼 代碼如下:

E1{ 
background-color: red !important;/*提升優先權*/ 
background-color: blue; 

------------------------------------------------- 

但這樣寫在IE中會有個問題,看過我的《關于CSS樣式表優先級》和《關于CSS樣式表優先級補遺》,你會知道在IE6和FF中用!important聲明可以提高優先級別,但在IE6中的!important聲明并不是絕對的,它會被之后的同名屬性定義所替換。也就是說在上面的例子中,IE6所應用的是最后一個背景色的值,即“blue”;而在FF中背景色的值為“red”。根據這一點,我們就可以把FF和IE的樣式分離開。 
OK ,解決了FF和IE的問題,現在來解決IE自己的問題。 
看過了嘟嘟的《繞過IE6支持IE5的別一種寫法-IE也支持">"》后有感而發,使用“>”IE是否真的可以認得?我們來看個例子: 
------------------------------------------------- 
E1{ 
background-color: red; 
>background-color: blue; 

------------------------------------------------- 

在FF中得到的是背景色紅色,而在IE中得到的背景色是藍色,根據樣式重定義的規則,如果瀏覽器可以識別“>”,則應該得到的藍色的背景,因此可以知道“>”只有IE可以識別,這點是很重要的哦!在后面大家就會知道了。(注:我測試過其它的一些符號,如“~”、“`”、“”等,都只有IE可以識別,在此為了感謝嘟嘟,推薦使用“>”) 

我們再來看個例子: 
------------------------------------------------- 
E1{ 
>/*IE only*/background-color: black; 
>/*IE only*/background-color /*IE5.5*/: green; 

------------------------------------------------- 

這個例子在IE6中得到了黑色的背景;而在IE5.5中得到的綠色的背景;在IE5中也得到了黑色的背景。這就說明了第二句定義只有IE5.5能識別,這是個很早就公布的HACK,可以在網上找到相關的資料,要注意的就是在屬性名之后是有一個空格的。到此我們已經把FF、IE5.5、IE6分離出來了,那IE5呢?其實現在我們只要把IE5跟IE6分開就OK了,來看看例子: 
------------------------------------------------- 
E1{ 
>/*IE only*/background-color: red;/*IE5*/ 

E1/*IE5.5+*/{ 
>/*IE only*/background-color: black; 

------------------------------------------------- 

這里我們又用到一個HACK,就是“E1/**/{}”,這個定義在IE5以上的版本才能識別出來。這個例子得到的結果是,在IE5中的背景色為紅色;在IE5以上版本中得到的是黑色背景。 
終于把不同版本的瀏覽器都分離出來了,這樣我們就可以為不同的瀏覽器定義不同的樣式了。來看個完整的例子: 
------------------------------------------------- 
E1{ 
width: 500px; 
height: 50px; 
background-color: red !important;/*FF*/ 
background-color: blue;/*IE5*/ 
text-align:center; 

E1/*IE5.5+*/{ 
>/*IE only*/background-color: black;/*IE6*/ 
>/*IE only*/background-color /*IE5.5*/: green; 

------------------------------------------------- 

需要注意的是,在上面例子中“background-color”定義的順利不能改變,即FF-IE5-IE6-IE5.5。對于IE的定義在屬性前要加“>”,因為“E1/**/{}”這個HACK在FF中可以識別。也許你會想,上面的例子不是可以寫成: 
------------------------------------------------- 
E1{ 
width: 500px; 
height: 50px; 
background-color: red;/*FF*/ 
>background-color: blue;/*IE5*/ 
text-align:center; 

E1/*IE5.5+*/{ 
>/*IE only*/background-color: black;/*IE6*/ 
>/*IE only*/background-color /*IE5.5*/: green; 

-------------------------------------------------

這樣不就又可以省下幾個字節?是沒錯,可是HACK不是標準,如果濫用HACK,那只會離標準越來越遠!

您可能感興趣的文章:
  • 如何解決hover在ie6中的兼容性問題

標簽:邯鄲 濱州 南充 海東 遼源 陽泉 東莞 喀什

巨人網絡通訊聲明:本文標題《解決IE5/IE5.5/IE6/FF的兼容性問題——CSS》,本文關鍵詞  解決,IE5,IE5.5,IE6,的,兼容性,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決IE5/IE5.5/IE6/FF的兼容性問題——CSS》相關的同類信息!
  • 本頁收集關于解決IE5/IE5.5/IE6/FF的兼容性問題——CSS的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 两当县| 崇阳县| 塔城市| 朔州市| 察隅县| 于田县| 花垣县| 阳城县| 额尔古纳市| 衡阳市| 来凤县| 桃江县| 澄迈县| 济南市| 山西省| 六盘水市| 元阳县| 专栏| 滦南县| 墨江| 肥西县| 北辰区| 澄城县| 抚松县| 马龙县| 阳高县| 辛集市| 泸水县| 平和县| 晋州市| 阿图什市| 应用必备| 盐边县| 天镇县| 古浪县| 务川| 江津市| 静乐县| 泰顺县| 西充县| 鄂尔多斯市|