DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> CSSHACK寫法全面兼容IE6 IE7 IE8 Firefox浏覽器
CSSHACK寫法全面兼容IE6 IE7 IE8 Firefox浏覽器
編輯:CSS詳解     

本文和大家重點討論一下2010全面兼容IE6/IE7/IE8/Firefox的CSSHACK寫法,這裡和大家主要分享二種方法,相信本文介紹一定會讓你有所收獲。

2010全面兼容IE6/IE7/IE8/Firefox的CSSHACK寫法

浏覽器市場的混亂,給設計師造成很大的麻煩,設計的頁面兼容完這個浏覽器還得兼容那個浏覽器,本來IE6跟Firefox之間的兼容是很容易解決的。加上個IE7會麻煩點,IE8的出現就更頭疼了,原來hackIE7的方法又不能用了,怎麼辦呢?

第一種方法:

還好,微軟提供了這樣一個代碼:

  1. <metahttp-equivmetahttp-equiv="x-ua-compatible"content="IE=7"/>

把這段代碼放到<head>裡面,在IE8裡面的頁面解析起來就跟IE7一模一樣的了,所以,基本上可以無視IE8,剩下的代碼只需要這樣寫就可以了

  1. background:#Firefoxc;/*對Firefox有效*/
  2. *background:#ccc;/*對IE7有效*/
  3. _background:#000;/*只對IE6有效*/

解釋一下吧:

Firefox能解析第一段,後面的兩個因為前面加了特殊符號“*”和“_”,Firefox認不了,所以只認background:#Firefoxc,看到的是黃色;

IE7前兩短都能認,以最後的為准,所以最後解析是background:#ccc,看到的是灰色;

IE6三段都能認,而且“_”這個只有IE6能認,所以最後解析是_background:#000,看到的是黑色

已經是最簡單和最好理解的寫法了,如果你是google進來的,我可以很負責任的告訴你,這種方法是ok的,我測試過。

IE8的那段兼容7的代碼我也測試過了,在我現在的winDOS7測試版所帶的IE8是沒問題的,以後IE8正式版出來還管不管用就不知道了。

ps:如果你發現按我這樣寫還是有問題的話,請查看一下你的Html頭,看看<head>之前的內容是不是這樣的標准寫法

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHtml1.0Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xHtml1-transitional.dtd">
  3. <HtmlXMLnsHtmlXMLns="http://www.w3.org/1999/xHtml">

這個是現在比較規范的寫法,如果你是用dreamweaver做頁面的話,默認也是這種規范的,切記,非這種規范寫法的,兼容性不能保證

第二種方法:

要求苛刻的朋友是不願意在頁面頭部增加<metahttp-equiv="x-ua-compatible"content="IE=7"/>這樣一句代碼的,因為這樣的結果是每個頁面都得加。那麼要想兼容這幾個浏覽器還真得想別的辦法了。早些天本站發布了一篇《完美兼容IE6,IE7,IE8以及Firefox的CSS透明濾鏡》,可能當時測試的疏忽,IE8的兼容性沒有解決好,好多朋友回復說用不了。今天抽出些時間,查閱大量資料,終於解決了這個問題了。

以下是兼容IE6/IE7/IE8/Firefox的寫法,注意下面的順序不可顛倒

  1. margin-bottom:40px;/*Firefox的屬性*/
  2. margin-bottom:140px\9;/*IE6/7/8的屬性*/
  3. color:red\0;/*IE8支持*/
  4. *margin-bottom:450px;/*IE6/7的屬性*/

下面以一個實例的形式表現,大家可以運行代碼查看一下效果

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHtml1.0Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xHtml1-transitional.dtd">
  3. <HtmlXMLnsHtmlXMLns="http://www.w3.org/1999/xHtml">
  4. <head>
  5. <metahttp-equivmetahttp-equiv="Content-Type"content="text/Html;charset=utf-8"/>
  6. <title>2010最新全面兼容IE6,IE7,IE8,Firefox的CSSHACK寫法——www.aa25.cn標准之路</title>
  7. <styletypestyletype="text/CSS">
  8. #abc{
  9. border:2pxsolid#00f;/*Firefox的屬性*/
  10. border:2pxsolid#090\9;/*IE6/7/8的屬性*/
  11. border:2pxsolid#F90\0;/*IE8支持*/
  12. _border:2pxsolid#f00;/*IE6的屬性*/
  13. }
  14. /*上下順序不可以寫錯*/
  15. </style>
  16. </head>
  17. <body>
  18. <dividdivid="abc">
  19. <ul>
  20. <li>Firefox下藍邊</li>
  21. <li>IE6下紅邊</li>
  22. <li>IE7下綠邊</li>
  23. <li>IE8下黃邊</li>
  24. <li>轉載請注明來源標准之路<ahrefahref="http://www.68CSS.com">www.68CSS.com</a></li>
  25. </ul>
  26. </div>
  27. </body>
  28. </Html>

提示:可以先修改部分代碼後再運

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved