文档模式

Posted 流水带走了青春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文档模式相关的知识,希望对你有一定的参考价值。

自IE8开始,IE引入了一个“文档模式”的概念。页面的文档模式决定了可以使用什么功能,即决定了你可以使用哪个级别的CSS,可以在js中使用那些API以及如何对待文档类型(!DOCTYPE)。

到了IE9,共用以下几种文档模式:

  IE5:以混杂模式(Quirks Mode)渲染页面,IE5的默认模式就是混杂模式,IE8以及更到版本中的新功能都无法使用;

  IE7:以IE7标准模式渲染页面。IE8以及更到版本中的新功能都无法使用;

  IE8:以IE8标准模式渲染页面。IE8中的新功能都可以使用,如Selectors API,更多的CSS2级选择符和某些CSS3功能,还有一些html5功能。IE9中的新功能无法使用。

  IE9:以IE9标准模式渲染页面。IE9中的新功能都可以使用,如ECMAScript5,完整的CSS3以及更多的HTML5功能。

 默认情况下,浏览器会通过文档类型声明来确定是使用最佳的可用文档模式还是使用混杂模式。

要强制浏览器以某种模式渲染页面,可以使用Http头部信息 X-UA-Compatible 或通过同等的<meta>标签来设置:

  <meta http-equiv="X-UA-Compatible" content="IE=IE版本" />

 

这里的IE版本有以下一些不同的值,而且这些值并不一定与以上4中文档模式对应:

  Edge:始终以最新的文档模式渲染页面。忽略文档类型声明。对于IE9,始终以IE9标准模式渲染页面。

  EmulateIE9:如果有文档类型声明,则以 IE9标准模式渲染页面,否则将文档模式设置为IE5。

  EmulateIE8:如果有文档类型声明,则以 IE8标准模式渲染页面,否则将文档模式设置为IE5。

  EmulateIE7:如果有文档类型声明,则以 IE7标准模式渲染页面,否则将文档模式设置为IE5。

  9:强制以IE9标准模式渲染页面,忽略文档类型声明。

  8:强制以IE8标准模式渲染页面,忽略文档类型声明。

  7:强制以IE7标准模式渲染页面,忽略文档类型声明。

  5:强制将文档模式设置为IE5,忽略文档类型声明。

以上是关于文档模式的主要内容,如果未能解决你的问题,请参考以下文章

Airflow 中文文档:使用测试模式配置

再谈IE的浏览器模式和文档模式

IE的浏览器模式和文档模式

设计模式之抽象文档模式

IE的“浏览器模式”和“文档模式的区别”

数据库中的文档是不是必须与模式完全匹配才能填充查询的文档?