document对象属性documentMode与CompatMode

DOCTYPE

DOCTYPE全称Document Type Declaration(文档类型声明,缩写DTD)

DTD的声明影响浏览器对于CSS代码及Javascript脚本的解析。

渲染模式

渲染模式分为混杂模式、接近标准模式和标准模式

除了IE6/7不支持接近标准模式,其他模式所有浏览器都支持;

DOCYTPE与渲染模式的关系

1.混杂模式:不写DOCTYPE声明;

2.接近标准模式:过渡型(Transitional)或框架型(Frameset)的HTML声明与过渡型或框架型的XHTML声明;

3.标准模式:html5的DOCTYPE声明和严格型(Strict)的HTML声明及严格型的XHTML声明;

其他激活混杂模式的情况:

在DOCTYPE声明前出现了这些内容:普通文本、HTML标签、HTML注释、XML声明、IE条件注释

用JS判断浏览器当前的模式:

document.compatMode=='CSS1Compat'?'标准模式':'混杂模式';

IE、Firefox、Opera、Sarari和Chrome都实现了这个属性;

IE8的特殊情况:

IE8又为document对象引入了一个名为documentMode新属性,这是因为IE8有3种不同的呈现模式,这个属性的值如果是5,则表示混杂模式(即IE5模式);如果是7,则表示IE7仿真模式;如果是8,则表示IE8标准模式。

Support in IE8+

参考:http://hi.baidu.com/flondon/item/4da1a01c3885967f7b5f2598

原文地址:https://www.cnblogs.com/jmtbai/p/3820606.html