【Javascript高级程序设计】标准模式与混杂模式

IE5.5引入了文档模式的概念,而这个概念是通过使用文档类型(doctype)切换实现的。

最初的两种文档模式是:混杂模式(quirks mode)和标准模式(standards mode).混杂模式会让IE的行为与(包含非标准特性)IE5相同,

                                       而标准模式则让IE的行为更接近标准行为。

  虽然这两种模式主要影响CSS内容的呈现,但在某些情况下也会影响到Javascript的解释执行。

  在IE引入文档模式的概念后,其他浏览器也纷纷效仿。在此之后,IE又提出一种所谓的准标准模式( almost standards mode)。这种

模式下的浏览器特性有很多都是符合标准的,但也不尽然。不标准的地方主要体现在处理图片间隙的时候(在表格中使用图片时问题最明显)。

  如果在文档开始处没有文档类型声明,则所有浏览器都会默认开启混杂模式。但采用混杂模式不是什么值得推荐的做法,因为不同浏览器

在这种模式下的行为差异非常大,如果不适用某些hack技术,跨浏览器的行为根本就没有一致性可言。

  对于标准模式,可以通过使用下面任何一种文档类型来开启:

  <!-- HTML 4.01严格型-->  strict.dtd

  <!-- XHTML 1.0 严格型-->  xhtml-strict.dtd

  <!-- HTML5-->   <!DOCTYPE html>

  而对于准标准模式,则可以通过使用过渡型(transitional)或框架集型(frameset)文档类型来触发

  <!-- HTML 4.01过渡型-->  ……Transitional ……loose.dtd

  <!-- HTML 4.01 框架集型-->  ……Framest…… framest.dtd

  <!-- XHTML 1.0 过渡型-->   …… Transitional……xhtml-transitional.dtd

  <!--XHTML 1.0框架集型-->  ……Framest……xhtml-framest.dtd

  准标准模式与标准模式非常接近,它们的差异几乎可以忽略不计。因此,当有人提到"标准模式"时,有可能是指这两种模式中的任何一种。

 

 

posted @ 2014-05-14 10:19  Western Journey  阅读(468)  评论(0编辑  收藏  举报