全面兼容IE6、IE7、IE8、Firefox的CSS HACK方法
本文和大家重點(diǎn)討論一下DIV+CSS=2010全面兼容IE6/IE7/IE8/Firefox的CSS HACK,這里主要有兩種方法解決IE兼容性問題,請看下文詳細(xì)介紹。
DIV+CSS=2010全面兼容IE6/IE7/IE8/Firefox的CSSHACK
瀏覽器市場的混亂,給設(shè)計(jì)師造成很大的麻煩,設(shè)計(jì)的頁面兼容完這個(gè)瀏覽器還得兼容那個(gè)瀏覽器,本來IE6跟Firefox之間的兼容是很容易解決的。加上個(gè)IE7會(huì)麻煩點(diǎn),IE8的出現(xiàn)就更頭疼了,原來hackIE7的方法又不能用了,怎么辦呢?
第一種方法:
還好,微軟提供了這樣一個(gè)代碼:
- <metahttp-equivmetahttp-equiv="x-ua-compatible"content="IE=7"/>
把這段代碼放到<head>里面,在IE8里面的頁面解析起來就跟IE7一模一樣的了,所以,基本上可以無視IE8,剩下的代碼只需要這樣寫就可以了
- background:#Firefoxc;/*對Firefox有效*/
- *background:#ccc;/*對IE7有效*/
- _background:#000;/*只對IE6有效*/
解釋一下吧:
Firefox能解析第一段,后面的兩個(gè)因?yàn)榍懊婕恿颂厥夥?ldquo;*”和“_”,Firefox認(rèn)不了,所以只認(rèn)background:#Firefoxc,看到的是黃色;
IE7前兩短都能認(rèn),以最后的為準(zhǔn),所以最后解析是background:#ccc,看到的是灰色;
IE6三段都能認(rèn),而且“_”這個(gè)只有IE6能認(rèn),所以最后解析是_background:#000,看到的是黑色
已經(jīng)是最簡單和最好理解的寫法了,如果你是google進(jìn)來的,我可以很負(fù)責(zé)任的告訴你,這種方法是ok的,我測試過。
IE8的那段兼容7的代碼我也測試過了,在我現(xiàn)在的windos7測試版所帶的IE8是沒問題的,以后IE8正式版出來還管不管用就不知道了。
ps:如果你發(fā)現(xiàn)按我這樣寫還是有問題的話,請查看一下你的html頭,看看<head>之前的內(nèi)容是不是這樣的標(biāo)準(zhǔn)寫法:
- <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
這個(gè)是現(xiàn)在比較規(guī)范的寫法,如果你是用dreamweaver做頁面的話,默認(rèn)也是這種規(guī)范的,切記,非這種規(guī)范寫法的,兼容性不能保證
第二種方法:
要求苛刻的朋友是不愿意在頁面頭部增加<metahttp-equiv="x-ua-compatible"content="IE=7"/>這樣一句代碼的,因?yàn)檫@樣的結(jié)果是每個(gè)頁面都得加。那么要想兼容這幾個(gè)瀏覽器還真得想別的辦法了。早些天本站發(fā)布了一篇《完美兼容IE6,IE7,IE8以及Firefox的css透明濾鏡》,可能當(dāng)時(shí)測試的疏忽,IE8的兼容性沒有解決好,好多朋友回復(fù)說用不了。今天抽出些時(shí)間,查閱大量資料,終于解決了這個(gè)問題了。
以下是兼容IE6/IE7/IE8/Firefox的寫法,注意下面的順序不可顛倒
- margin-bottom:40px;/*Firefox的屬性*/
- margin-bottom:140px\9;/*IE6/7/8的屬性*/
- color:red\0;/*IE8支持*/
- *margin-bottom:450px;/*IE6/7的屬性*/
【編輯推薦】
- DIV+CSS兼容IE6、IE7、Firefox方法探究
- 探究IE8與IE7具體功能中窗口功能按鈕的變化
- IE6 IE7 IE8三個(gè)版本的CSS兼容速查手冊
- 探秘IE8 JavaScript功能超乎想象
- 技術(shù)前沿 一段JS代碼輕松解決IE6-IE8的兼容性問題