主頁(yè) > 知識(shí)庫(kù) > 解決IE5/IE5.5/IE6/FF的兼容性問題——CSS

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

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

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

找了一些相關(guān)的CSS HACK后,覺得應(yīng)該可以把IE5/IE5.5/IE6/FF的HACK寫到一起的,經(jīng)過(guò)測(cè)試,終于找到了一個(gè)不錯(cuò)的方法,下面我們來(lái)看看怎么實(shí)現(xiàn):
大家都知道用!important聲明可以提升指定樣式規(guī)則的應(yīng)用優(yōu)先權(quán),如下面的例子:
-------------------------------------------------
復(fù)制代碼 代碼如下:

E1{ 
background-color: red !important;/*提升優(yōu)先權(quán)*/ 
background-color: blue; 

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

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

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

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

我們?cè)賮?lái)看個(gè)例子: 
------------------------------------------------- 
E1{ 
>/*IE only*/background-color: black; 
>/*IE only*/background-color /*IE5.5*/: green; 

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

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

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

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

這里我們又用到一個(gè)HACK,就是“E1/**/{}”,這個(gè)定義在IE5以上的版本才能識(shí)別出來(lái)。這個(gè)例子得到的結(jié)果是,在IE5中的背景色為紅色;在IE5以上版本中得到的是黑色背景。 
終于把不同版本的瀏覽器都分離出來(lái)了,這樣我們就可以為不同的瀏覽器定義不同的樣式了。來(lái)看個(gè)完整的例子: 
------------------------------------------------- 
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。對(duì)于IE的定義在屬性前要加“>”,因?yàn)椤癊1/**/{}”這個(gè)HACK在FF中可以識(shí)別。也許你會(huì)想,上面的例子不是可以寫成: 
------------------------------------------------- 
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; 

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

這樣不就又可以省下幾個(gè)字節(jié)?是沒錯(cuò),可是HACK不是標(biāo)準(zhǔn),如果濫用HACK,那只會(huì)離標(biāo)準(zhǔn)越來(lái)越遠(yuǎn)!

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

標(biāo)簽:邯鄲 濱州 南充 海東 遼源 陽(yáng)泉 東莞 喀什

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決IE5/IE5.5/IE6/FF的兼容性問題——CSS》,本文關(guān)鍵詞  解決,IE5,IE5.5,IE6,的,兼容性,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決IE5/IE5.5/IE6/FF的兼容性問題——CSS》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于解決IE5/IE5.5/IE6/FF的兼容性問題——CSS的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章