精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
CSS的解決IE5/IE5.5/IE6/FF/IE7的兼容性問題
大家都知道用!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,那只會離標準越來越遠! 

總結:IE6/FF/IE7 能認識的符號 

IE6能識別下劃線_和星號*,IE7能識別星號*,當不能識別下劃線_,而firefox兩個都不能認識。等等 



書寫順序,一般是將識別能力強的瀏覽器的CSS寫在后面。下面如何寫里面說得更詳細些。 

如何寫CSS Hack 
比如要分辨IE6和firefox兩種瀏覽器,可以這樣寫: 
復制內容到剪貼板 
代碼: 
<style> 
div{ 
background:green; /* for firefox */ 
*background:red; /* for IE6 */ 

</style> 
<div>我在IE6中看到是紅色的,在firefox中看到是綠色的。</div> 
<style> div{ background:green; /* for firefox */ *background:red; /* for IE6 */ } </style> 
<div>我在IE6中看到是紅色的,在firefox中看到是綠色的。</div> 
解釋一下: 
上面的css在firefox中,它是認識不了后面的那個帶星號*的東東是什么的,于是將它過濾掉,不予理睬,解析得到的結果是:div{background:green},于是理所當然這個div的背景是綠色的。 
在IE6中呢,它兩個background都能識別出來,它解析得到的結果是:div{background:green;background:red;},于是根據優先級別,處在后面的red的優先級高,于是當然這個div的背景顏色就是紅色的了。 


CSS hack:區分IE6,IE7,firefox 
區別不同瀏覽器,CSS hack寫法: 


區別IE6與FF: 
復制內容到剪貼板 
代碼: 
background:orange;*background:blue; 
區別IE6與IE7: 
復制內容到剪貼板 
代碼: 
background:green !important;background:blue; 
區別IE7與FF: 
復制內容到剪貼板 
代碼: 
background:orange; *background:green; 
區別FF,IE7,IE6: 
復制內容到剪貼板 
代碼: 
background:orange;*background:green !important;*background:blue; 
注:IE都能識別*;標準瀏覽器(如FF)不能識別*; 
IE6能識別*,但不能識別 !important, 
IE7能識別*,也能識別!important; 
FF不能識別*,但能識別!important; 
復制內容到剪貼板 
代碼: 
IE6 IE7 FF 
* √ √ × 
!important × √ √ 
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CSS:IE,Chrome,Firefox兼容性和CSS Hack
針對各種瀏覽器css不兼容的寫法
IE、Firefox對CSS中important和“*”和“_”的支持
DIV+CSS解決IE6,IE7,IE8,FF兼容問題
收藏一個CSS書寫順序建議及CSS HACK(FF&IE兼容)
網頁在IE6和IE7顯示錯位的問題 - 網頁設計 - 思緣論壇 平面設計,Photosho...
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 惠安县| 孟津县| 棋牌| 始兴县| 三门县| 乌拉特后旗| 万山特区| 明水县| 墨玉县| 镇坪县| 正蓝旗| 平阴县| 新邵县| 富川| 南京市| 邓州市| 沅陵县| 雅江县| 雷山县| 建水县| 略阳县| 元江| 张北县| 冀州市| 虎林市| 巴林左旗| 乳源| 马公市| 玉田县| 甘南县| 平潭县| 德惠市| 成武县| 闽清县| 乌兰县| 元谋县| 巩义市| 东乡| 株洲县| 南京市| 镇康县|