成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析IE5/IE5.5/IE6/FF的兼容性問題

開發 前端
IE5/IE5.5/IE6/FF兼容性是比較棘手的問題,本文向大家介紹一下IE5/IE5.5/IE6/FF兼容性問題如何解決,希望本文介紹對你有所幫助。

本文和大家重點討論一下如何解決IE5/IE5.5/IE6/FF的兼容性問題,在IE6和FF中沒問題的頁面在IE5和IE5.5中亂成一團,下面看一下具體解決方法。

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

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

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

  1. E1{background-color:red!important;  
  2. /*提升優先權*/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是否真的可以認得?我們來看個例子:

  1.  
  2. E1{background-color:red;  
  3.  
  4. >background-color:blue;  
  5.  
  6. }  

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

我們再來看個例子:

  1.  
  2. E1{  
  3.  
  4. >/*IEonly*/background-color:black;  
  5. >/*IEonly*/background-color/*IE5.5*/:green;  
  6.  
  7. }  

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

  1.  
  2. E1{  
  3.  
  4. >/*IEonly*/background-color:red;/*IE5*/  
  5.  
  6. }E1/*IE5.5+*/{  
  7.  
  8. >/*IEonly*/background-color:black;  
  9.  
  10. }  

這里我們又用到一個HACK,就是“E1/**/{}”,這個定義在IE5以上的版本才能識別出來。這個例子得到的結果是,在IE5中的背景色為紅色;在IE5以上版本中得到的是黑色背景。

◆終于把不同版本的瀏覽器都分離出來了,這樣我們就可以為不同的瀏覽器定義不同的樣式了。來看個完整的例子:

  1. E1{width:500px;height:50px;  
  2. background-color:red!important;  
  3. /*FF*/background-color:blue;/*IE5*/text-align:center;  
  4. }E1/*IE5.5+*/{  
  5.  
  6. >/*IEonly*/background-color:black;/*IE6*/  
  7. >/*IEonly*/background-color/*IE5.5*/:green;  
  8.  
  9. }  

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

  1. E1{width:500px;height:50px;background-color:red;/*FF*/  
  2.  
  3. >background-color:blue;/*IE5*/  
  4.  
  5. text-align:center;}E1/*IE5.5+*/{  
  6.  
  7. >/*IEonly*/background-color:black;/*IE6*/  
  8. >/*IEonly*/background-color/*IE5.5*/:green;  
  9.  
  10. }  

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

【編輯推薦】

  1. IE6 IE7 IE8瀏覽器的兼容性PK
  2. 學習筆記 IE8兼容代碼用法解析
  3. IE6 IE7 IE8 FF瀏覽器的CSS兼容問題探究
  4. 微軟發布升級版IE8Beta2瀏覽器 新特性敬請關注
  5. 技術前沿 DIV+CSS布局網頁對網站SEO的影響

 

責任編輯:佚名 來源: chinaitlab.com
相關推薦

2010-09-15 11:32:37

IE6IE7瀏覽器兼容性

2010-08-17 16:50:30

JSIE6IE8

2010-08-18 14:14:41

IE6IE7FF

2010-08-18 09:24:09

IE6兼容性

2010-08-17 16:18:23

IE6IE7FF

2010-08-19 16:06:15

2010-08-18 09:14:58

IE6兼容性

2011-06-03 15:41:27

CSS HACK

2010-08-19 10:13:25

marginFFIE6

2010-08-17 16:27:52

IE6IE7IE8

2010-09-16 13:33:47

IE6IE7IE8

2010-08-17 15:07:48

IE6IE7IE8

2010-08-20 09:25:11

IE6IE7IE8

2010-09-15 10:14:19

IE7IE8兼容CSS

2010-10-09 15:22:25

IE7.JS

2010-09-15 11:08:48

CSSIE6IE7

2010-09-15 11:18:27

IE6IE7火狐

2010-08-18 13:45:07

IE6IE7FF

2010-09-15 10:57:25

IE6IE7FF

2010-08-30 09:35:35

IE6IE7Firefox
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区三区在线观看国产 | 成年人精品视频在线观看 | 欧洲高清转码区一二区 | 日韩欧美一区二区三区 | 欧美成视频| www.日日操 | 精品一区二区三区免费视频 | 国产成人网 | 欧美中文字幕 | 午夜影院在线观看 | 正在播放亚洲 | 91精品国产一区二区 | 999精品视频| 在线视频中文字幕 | 一级黄色影片在线观看 | 成人不卡 | 久久四虎 | 超碰av人人 | 亚洲视频二区 | 色综合久久88色综合天天 | 日韩精品一区二区三区在线 | 国产精品久久一区二区三区 | 久在线视频播放免费视频 | 色天天综合 | 国产乡下妇女做爰 | 精品1区2区| 精品国产乱码久久久久久中文 | 日本手机在线 | 嫩草网| 青青久草 | 欧美一区二区三区在线观看 | 91久久伊人 | 成人av免费网站 | 日韩精品一区二区三区在线 | 精品国产99 | a级毛片免费高清视频 | 亚洲精品www| 一级毛片免费视频观看 | 毛片免费观看视频 | 亚洲一区二区三区免费在线 | 国产成人在线一区二区 |