译者:为之漫笔
最后更新:2012-11
文档兼容性定义Windows Internet Explorer如何渲染网页。与其他常用浏览器一样,IE支持文档兼容性模式,不同的模式下浏览器解释和显示网页的方式不同。这里的模式也称为文档模式,通过它们可以指定浏览器是以最新标准,还是以旧版本浏览器的某些行为来渲染网页。
网页的文档模式由其文档类型声明决定,文档类型使用<!DOCTYPE>指令指定,如下所示:
<!doctype html>
<html>
<head>
<title>A standards mode webpage</title>
</head>
<body>
<!-- This webpage displays in standards mode -->
</body>
</html>
IE6之后的所有IE版本都支持三种文档模式。
- 标准模式(standards mode) 支持最新标准,如HTML5、CSS3、SVG等,这个模式是所有面向公众的网站应该优先选用的。
- 老旧模式(quirks mode)强调兼容而非符合标准,这种模式支持早期IE版本中的一些行为。
- 准标准模式(almost-standards mode) 支持最新标准定义的API,同时也支持一些早期浏览器版本中的图形渲染行为。
前面的例子包含了<!DOCTYPE>指令,表示这个网页的文档类型是HTML5文档。
IE在碰到包含<!DOCTYPE>指令的网页时,会使用相应文档类型的值去确定网页的文档模式。
IE如果没有在网页中碰到<!DOCTYPE>元素,就会以老旧模式打开网页,因此可能会导致一些非预期的结果。更多信息,请参考How to Enable Standards Support。
从IE8开始,老旧模式和准标准模式只在IE中有效。使用JavaScript的Windows Store应用只支持标准模式。老旧模式和准标准模式属于遗留的文档模式,应该尽量少用。
注意 到了IE10,其中的老旧模式与早期版本IE中的老旧模式又不一样了。IE9及更早版本IE中的老旧模式只支持IE5.5的特性。而IE10中的老旧模式则考虑到了HTML5规范中相应的差异。更多信息,请参考指定使用遗留的文档模式(IE).
要想知道网页的文档类型,请参考Investigating Document Mode Issues.
有时候,确实有必须限制浏览器以某个IE之前版本去显示网页。为此,可以使用x-ua-compatible。更多信息,请参考指定使用遗留的文档模式(IE).