全面兼容IE6/IE7/IE8/FF的CSS HACK寫法
CSS hack由于不同的瀏覽器,對(duì)CSS的解析認(rèn)識(shí)不一樣,因此會(huì)導(dǎo)致生成的頁面效果不一樣,得不到我們所需要的頁面效果。 這個(gè)時(shí)候我們就需要針對(duì)不同的瀏覽器去寫不同的CSS,讓它能夠同時(shí)兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果.
瀏覽器市場的混亂,給設(shè)計(jì)師造成很大的麻煩,設(shè)計(jì)的頁面兼容完這個(gè)瀏覽器還得兼容那個(gè)瀏覽器,本來ie6跟ff之間的兼容是很容易解決的。加上個(gè)ie7會(huì)麻煩點(diǎn),ie8的出現(xiàn)就更頭疼了,原來hack ie7的方法又不能用了,怎么辦呢?
第一種方法:
還好,微軟提供了這樣一個(gè)代碼:
- <meta http-equiv="x-ua-compatible" content="ie=7" />
把這段代碼放到<head>里面,在ie8里面的頁面解析起來就跟ie7一模一樣的了,所以,基本上可以無視ie8,剩下的代碼只需要這樣寫就可以了
- background:#ffc; /* 對(duì)firefox有效*/
- *background:#ccc; /* 對(duì)ie7有效 */
- _background:#000; /* 只對(duì)ie6有效 */
解釋一下吧:
firefox能解析第一段,后面的兩個(gè)因?yàn)榍懊婕恿颂厥夥?hào)“*”和“_”,firefox認(rèn)不了,所以只認(rèn)background:#ffc,看到的是黃色;
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)在的windos 7 測試版所帶的ie8是沒問題的,以后ie8正式版出來還管不管用就不知道了。
ps:如果你發(fā)現(xiàn)按我這樣寫還是有問題的話,請(qǐng)查看一下你的html頭,看看<head>之前的內(nèi)容是不是這樣的標(biāo)準(zhǔn)寫法
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
這個(gè)是現(xiàn)在比較規(guī)范的寫法,如果你是用dreamweaver做頁面的話,默認(rèn)也是這種規(guī)范的,切記,非這種規(guī)范寫法的,兼容性不能保證
第二種方法:
要求苛刻的朋友是不愿意在頁面頭部增加
- <meta http-equiv="x-ua-compatible" content="ie=7" />
這樣一句代碼的,因?yàn)檫@樣的結(jié)果是每個(gè)頁面都得加。那么要想兼容這幾個(gè)瀏覽器還真得想別的辦法了。
還有一篇文章《完美兼容ie6,ie7,ie8以及firefox的css透明濾鏡》,可能當(dāng)時(shí)測試的疏忽,IE8的兼容性沒有解決好,好多朋友回復(fù)說用不了。今天抽出些時(shí)間,查閱大量資料,終于解決了這個(gè)問題了。
以下是兼容IE6/IE7/IE8/FF的寫法,注意下面的順序不可顛倒
- margin-bottom:40px; /*ff的屬性*/
- margin-bottom:140px\9; /* IE6/7/8的屬性 */
- color:red\0; /* IE8支持 */
- *margin-bottom:450px; /*IE6/7的屬性*/
下面以一個(gè)實(shí)例的形式表現(xiàn),大家可以運(yùn)行代碼查看一下效果:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>2010最新全面兼容ie6,ie7,ie8,ff的CSS HACK寫法——www.aa25.cn標(biāo)準(zhǔn)之路</title>
- <style type="text/css">
- #abc {
- border:2px solid #00f; /*ff的屬性*/
- border:2px solid #090\9; /* IE6/7/8的屬性 */
- border:2px solid #F90\0; /* IE8支持 */
- _border:2px solid #f00; /*IE6的屬性*/
- }
- /*上下順序不可以寫錯(cuò)*/
- </style>
- </head>
- <body>
- <div id="abc">
- <ul>
- <li>FF下藍(lán)邊</li>
- <li>IE6下紅邊</li>
- <li>IE7下綠邊</li>
- <li>IE8下黃邊</li>
- <li>轉(zhuǎn)載請(qǐng)注明來源標(biāo)準(zhǔn)之路<a href="http://www.68css.com">www.68css.com</a></li>
- </ul>
- </div>
- </body>
- </html>
【編輯推薦】

















