首頁 > web前端 > css教學 > 解決IE5/IE5.5/IE6/FF的兼容性問題-CSS_經驗交流

解決IE5/IE5.5/IE6/FF的兼容性問題-CSS_經驗交流

PHP中文网
發布: 2016-05-16 12:07:41
原創
1497 人瀏覽過

轉自 藍色理想 
作者 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可以識別,這點是很重要的哦!在後面大家就會知道了。 (註:我測試過其它的一些符號,如「~」、「`」、「

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

這樣不就又可以省下幾個位元組?是沒錯,可是hack不是標準,如果濫用hack,那隻會離標準越來越遠! 


以上就是解決ie5/ie5.5/ie6/ff的相容性問題-css_經驗交流的內容,更多相關內容請關注php中文網(m.sbmmt.com)!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板