为之漫笔

什么是文档兼容性(IE)

原文链接: msdn.microsoft.com

最后更新:2012-11

文档兼容性定义Windows Internet Explorer如何渲染网页。与其他常用浏览器一样,IE支持文档兼容性模式,不同的模式下浏览器解释和显示网页的方式不同。这里的模式也称为文档模式,通过它们可以指定浏览器是以最新标准,还是以旧版本浏览器的某些行为来渲染网页。

网页的文档模式由其文档类型声明决定,文档类型使用<!DOCTYPE>.aspx)指令指定,如下所示:

<!doctype html>
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;A standards mode webpage&lt;/title&gt;
   &lt;/head&gt;
   &lt;body&gt;
     <!-- This webpage displays in standards mode -->
   &lt;/body&gt;
&lt;/html&gt;

IE6之后的所有IE版本都支持三种文档模式。

  • 标准模式(standards mode) 支持最新标准,如HTML5、CSS3、SVG等,这个模式是所有面向公众的网站应该优先选用的。
  • 老旧模式(quirks mode)强调兼容而非符合标准,这种模式支持早期IE版本中的一些行为
  • 准标准模式(almost-standards mode) 支持最新标准定义的API,同时也支持一些早期浏览器版本中的图形渲染行为

前面的例子包含了&lt;!DOCTYPE&gt;.aspx)指令,表示这个网页的文档类型是HTML5文档。

IE在碰到包含&lt;!DOCTYPE&gt;.aspx)指令的网页时,会使用相应文档类型的值去确定网页的文档模式。

IE如果没有在网页中碰到&lt;!DOCTYPE&gt;.aspx)元素,就会以老旧模式打开网页,因此可能会导致一些非预期的结果。更多信息,请参考How to Enable Standards Support.aspx)。

从IE8开始,老旧模式和准标准模式只在IE中有效。使用JavaScript的Windows Store应用只支持标准模式。老旧模式和准标准模式属于遗留的文档模式,应该尽量少用.aspx)。

注意 到了IE10,其中的老旧模式与早期版本IE中的老旧模式又不一样了。IE9及更早版本IE中的老旧模式只支持IE5.5的特性。而IE10中的老旧模式则考虑到了HTML5规范中相应的差异。更多信息,请参考指定使用遗留的文档模式(IE).

要想知道网页的文档类型,请参考Investigating Document Mode Issues.aspx).

有时候,确实有必须限制浏览器以某个IE之前版本去显示网页。为此,可以使用x-ua-compatible。更多信息,请参考指定使用遗留的文档模式(IE).

相关内容