在網站開發和學習中,因爲各類兼容性問題,讓開發者挺煩惱的,個人學員也常常由於兼容問題來找我取經。javascript
事實上,IE給出瞭解決方案,谷歌給出瞭解決方案,國內著名網站百度也將這個解決方案應用於IE的兼容性問題。html
要解決這個兼容性問題只須要一行代碼,首先看看百度主頁解決代碼兼容性的問題。html5
百度首頁源代碼以下:java
<!Doctype html> <html xmlns=http://www.w3.org/1999/xhtml xmlns:bd=http://www.baidu.com/2010/xbdml> <head> <meta http-equiv="Content-Type" content=「text/html;charset=utf-8″> <META http-equiv="X-UA-Compatible" content=IE=Edge> <title>百度一下,你就知道 </title>chrome
這句話的意思是強制使用Edge模式來解析網頁代碼!瀏覽器
幾種IE使用模式:服務器
1.強制使用IE5模式來解析框架
<meta http-equiv=「X-UA-Compatible」 content=「IE=5″>svn
2.強制使用IE6模式來解析學習
<meta http-equiv=「X-UA-Compatible」 content=「IE=6″>
3.強制使用IE7模式來解析的兩種方式
<meta http-equiv=「X-UA-Compatible」 content=「IE=EmulateIE7″>2 <meta http-equiv=「X-UA-Compatible」 content=「IE=7″>
強制使用IE8模式來解析
<meta http-equiv=「X-UA-Compatible」 content=「IE=8″>
5. Google Chrome Frame也可讓IE用上Chrome的引擎:
<meta http-equiv=「X-UA-Compatible」 content=「chrome=1″/>
6.若是一個特定版本的IE支持所要求的兼容性模式多於一種,以下代碼就是IE5和IE8兩種模式:
<meta http-equiv=「X-UA-Compatible」 content=「IE=5; IE=8″/>
7.默認使用Google Chrome Frame進行渲染,若是沒有安裝gcf則使用IE的最新內核來渲染
< meta http-equiv = "X-UA-Compatible" content ="IE=edge,chrome=1" />
除此以外,咱們還能夠設定網站服務器以指定預設兼容性模式
若是服務器是本身的話,您能夠在服務器上定義一個自定義標頭,以便爲其網站指定特定的文件兼容性模式。這個特定的方法取決於你的網站服務器。下面的Web.config文件使微軟Internet信息服務(IIS)來定義一個自定義頁眉自動使用IE7模式編譯全部的頁面。
有另外的解決方案,在谷歌的IE7–JS是一個JavaScript庫(JS庫,解決了IE與W3C標準之間的衝突),使微軟的Internet Explorer表現得像一個Web兼容的瀏覽器,支持更多的W3C標準,支持CSS2,CSS3選擇器。它修復了大量的HTML和CSS的問題,使透明的PNG正確顯示IE5和IE6下。
如下爲google code的代碼地址。
使IE5,IE6兼容到IE7模式
<!–[if lt IE 7]><script src=」 http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.js 」 type=」text/javascript」></script><![endif]–>
使IE5,IE6,IE7兼容到IE8模式
<!–[if lt IE 8]><script src=」 http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE8.js 」 type=」text/javascript」></script><![endif]–>
使IE5,IE6,IE7,IE8兼容到IE9模式
<!–[if lt IE 9]><script src=」 http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js 」></script><![endif]–>
那麼怎麼解決解決PNG顯示問題,只需將透明的PNG圖片命名爲*;,美中不足的是,這種方法不能發揮背景瓷磚(背景重複)和背景(背景位置)的做用默認會佔滿整個容器。固然你也能夠使用《IE6 PNG透明終極解決方案 》中所講的方法。
還有一種有趣的方法
建立html5時發現這麼一句話,以下:
<meta http-equiv=」X-UA-Compatible」 content=」IE=edge,chrome=1″/>
這樣寫能夠達到的效果是若是安裝了GCF(Google Chrome Frame 谷歌內嵌瀏覽器框架的簡稱),而後使用GCF渲染頁面,若是你沒有在IE瀏覽器中安裝有,也能夠使用IE內核的最高版本進行渲染。這個插件容許用戶的IE瀏覽器看起來同樣,但在瀏覽網頁時,用戶實際上使用的是谷歌瀏覽器瀏覽器內核,支持IE瀏覽器的多個版本,如IE6,7, 8,等。