浏覽器市場的混亂,給設計師造成很大的麻煩,設計的頁面兼容完這個浏覽器還得兼容那個浏覽器,本來ie6跟ff之間的兼容是很容易解決的。加上個ie7會麻煩點,ie8的出現就更頭疼了,原來hack IE7的方法又不能用了,怎麼辦呢?
第一種方法:
還好,微軟提供了這樣一個代碼:
<meta http-equiv="x-ua-compatible" content="IE=7" />
把這段代碼放到<head>裡面,在ie8裡面的頁面解析起來就跟ie7一模一樣的了,所以,基本上可以無視IE8,剩下的代碼只需要這樣寫就可以了
background:#ffc; /* 對Firefox有效*/
*background:#ccc; /* 對IE7有效 */
_background:#000; /* 只對IE6有效 */
解釋一下吧:
firefox能解析第一段,後面的兩個因為前面加了特殊符號“*”和“_”,Firefox認不了,所以只認background:#ffc,看到的是黃色;
IE7前兩短都能認,以最後的為准,所以最後解析是background:#ccc,看到的是灰色;
ie6三段都能認,而且“_”這個只有IE6能認,所以最後解析是_background:#000,看到的是黑色
阿門!已經是最簡單和最好理解的寫法了,如果你是google進來的,我可以很負責任的告訴你,這種方法是ok的,我測試過。
ie8的那段兼容7的代碼我也測試過了,在我現在的winDOS 7 測試版所帶的ie8是沒問題的,以後IE8正式版出來還管不管用就不知道了。
ps:如果你發現按我這樣寫還是有問題的話,請查看一下你的Html頭,看看<head>之前的內容是不是這樣的標准寫法
XML/Html代碼
<!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">
這個是現在比較規范的寫法,如果你是用dreamweaver做頁面的話,默認也是這種規范的,切記,非這種規范寫法的,兼容性不能保證
第二種方法:
要求苛刻的朋友是不願意在頁面頭部增加<meta http-equiv="x-ua-compatible" content="IE=7" />這樣一句代碼的,因為這樣的結果是每個頁面都得加。那麼要想兼容這幾個浏覽器還真得想別的辦法了。早些天本站發布了一篇《完美兼容ie6,ie7,IE8以及Firefox的CSS透明濾鏡》,可能當時測試的疏忽,IE8的兼容性沒有解決好,好多朋友回復說用不了。今天抽出些時間,查閱大量資料,終於解決了這個問題了。
以下是兼容IE6/IE7/IE8/FF的寫法,注意下面的順序不可顛倒
CSS代碼
margin-bottom:40px; /*ff的屬性*/
margin-bottom:140px\9; /* IE6/7/8的屬性 */
color:red\0; /* IE8支持 */
*margin-bottom:450px; /*IE6/7的屬性*/
下面以一個實例的形式表現,大家可以運行代碼查看一下效果
XML/Html代碼
<!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>鏈接之家:http://www.linkzj.cn</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的屬性*/
}
/*上下順序不可以寫錯*/
</style>
</head>
<body>
<div id="abc">
<ul>
<li>FF下藍邊</li>
<li>IE6下紅邊</li>
<li>IE7下綠邊</li>
<li>IE8下黃邊</li>
<li>轉載請注明來源Java中文網<a href=http://www.javaweb.cc>www.Javaweb.cc</a></li>
</ul>
</div>
</body>
</Html>