在网站开发和学习中,因为各类兼容性问题,让开发者挺烦恼的,个人学员也常常由于兼容问题来找我取经。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,等。