深圳市博士通科技有限公司

!DOCTYPE —— HTML文档模式

2020/10/30 9:58:48   阅读:1952    发布者:1952

IE5.5引入了文档模式的概念,而这个概念是通过使用文档类型(DOCTYPE)切换实现的。
文档模式主要分为混杂模式和标准模式两种,而标准模式又可划分为标准模式,准标准模式,超级标准模式三种(其中标准模式和准标准模式非常接近,他们的差异几乎可以忽略不计)。

准标准模式下很对特性都会按照浏览器标准去解析(当然,不是所有),文档开始处如果没有发现文档类型声明,则默认是混杂模式。混杂模式不值得推荐,目前大部分网站用的都是标准模式。
这两种模式的差别就是工作在不同版本渲染引擎环境下,混杂模式会让IE的行为与(包含非标准特性的)IE5相同,标准模式则让IE的行为更接近标准行为。
这两种模式主要影响css内容的呈现,在某些情况下也会JavaScript的解释执行(后面会详细说到)。之后IE又提出一种准标准模式(almost standards mode),
这种模式下的浏览器特性有很多都是符合标准,但也不尽然,不标准的地方体现在处理图片间隙的时候(在表格中使用图片时问题最明显)。
标准模式和准标准模式非常接近,在检测文档模式时也不会发现什么不同,这里在提到标准模式时,指的是除混杂模式之外的其他模式。


标准模式
可通过以下任何一种类型来开启:

HTML 4.01 严格型
<!-- HTML 4.01 严格型 -->


<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01//EN"
"http://www.3c.org/TR/html4/strict.dtd">

XHTML 1.0 严格型<!-- XHTML 1.0 严格型 -->


<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

HTML 5
<!-- HTML 5 -->


<!DOCTYPE HTML>

准标准模式
可通过使用过渡型(transitional)或框架集型(frameset)来触发,如下:

HTML 4.01 过渡型
<!-- HTML 4.01 过渡型 -->


<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.3c.org/TR/html4/DTD/loose.dtd">

HTML 4.01 框架集型
<!-- HTML 4.01 框架集型 -->


<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.3c.org/TR/html4/frameset.dtd">

XHTML 1.0 过渡型
<!-- XHTML 1.0 过渡型 -->


<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 框架集型
<!-- XHTML 1.0 框架集型 -->


<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.3c.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

超级标准模式
IE8默认模式,但可通过以下关闭其默认模式:

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

其IE用于指定使用哪个版本的呈现引擎来呈现页面,目的就是为了向后兼容那些专门为老版本的IE设计的站点和页面。