对于一个网页开发者而言,各个浏览器的样式兼容性是最让人头疼的问题;自己调试好后发布到正式环境客户各式各样的浏览器渲染出来的效果也略(da)有(bu)不(xiang)同,今天跟大家唠唠IE在渲染页面时的一些问题。
在IE8浏览器及以后版本,都有一个“兼容性视图”,所谓兼容,就是让高版本浏览器兼容低版本浏览器的运行模式,这让不少新技术无法使用。那么如何禁止浏览器自动选择“兼容性视图”,强制IE以最高级别的可用模式显示内容呢?下面就介绍一段HTML代码。
X-UA-Compatible是一个设置IE浏览器兼容模式的属性,在IE8浏览器之后诞生。
IE8或者IE9有很多种模式,比如:
IE8有4种模式:IE5.5怪异模式、IE7标准模式、IE8几乎标准模式、IE8标准模式;
IE9有7种模式:IE5.5怪异模式、IE7标准模式、IE8几乎标准模式、IE8标准模式、IE9几乎标准模式、IE9标准模式、XML模式。
我们常使用代码:
<metahttp-equiv="X-UA-Compatible"content="IE=8"/>
来开启IE8的标准渲染模式。这种方式在只存在IE8浏览器的时候比较合适,但是后来又出现了IE9、IE10、IE11等等。我们就可以这样写:
<metahttp-equiv="X-UA-Compatible"content="IE=9;IE=8;IE=7;"/>
意思就是优先最前面的IE9,没IE9就用IE8。那么如果针对每一种都写一遍,似乎就有些冗余了。
所以我们改变方式采用代码:
<metahttp-equiv="X-UA-Compatible"content="edge"/>
Edge模式通知IE以最高级别的可用模式显示内容,这实际上破坏了“锁定”模式。当然,我们还见过这样的代码:
<metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1">
就是增加了chrome=1值,目的是触发GoogleChromeFrame,不过现在Google已经抛弃GoogleChromeFrame了,因此也不用这样写了。
总结:在<!DOCTYPEhtml>下,使用代码:
<metahttp-equiv="X-UA-Compatible"content="edge"/>