Doctype知识点 标准模式与混杂模式

1. DOCTYPE种类

DOCTYPE(是Document Type文档类型的简写)是一组机器可读的规则,它指示(X)HTML文档中允许有什么,不允许有什么,一般放在(X)HTML文档开头声明,帮助浏览器正确地显示网页。
xhtml 1.0中有3种dtd声明可以选择,过渡性的(Transitional)、严格的(Strict)、框架的(Frameset)

  1. 过渡的:一种要求不很严格的,允许在html中使用html 4.01的标识(符合xhtml语法标准),过渡的dtd写法如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. 严格的:一种要求严格的dtd,不允许使用任何表现层的标识和属性,严格的dtd写法如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. 框架的:一种专门针对框架页面所使用的dtd,当页面中含有框架元素时,就要采用这种dtd,写法如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

PS:使用严格的dtd来制作页面最理想,但对于功力不够的新手,比较适合用过渡的dtd,因为这种dtd还允许使用表现层的标识、元素和属性。

2. 什么是标准模式与混杂模式?

  1. 混杂模式(quirks mode):让IE的行为与(包含非标准特性的)IE5相同。混杂模式是一种比较宽松的向后兼容的模式。混杂模式通常模拟老式浏览器的行为,以防止老站点无法工作。
  2. 标准模式(standards mode):让IE的行为更接近标准行为
  3. 准标准模式(almost standards mode):这种模式下的浏览器特性有很多都是符合标准的,不标准的地方主要体现在处理图片间隙的时候(在表格中使用图片时问题最明显)。
  4. 超级标准模式:IE8引入的一种新的文档模式,超级文档模式可以让IE以其所有版本中最符合标准的方式来解释网页内容。

3. 如何触发?

  • 触发混杂模式:如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式。但不推荐此种做法,因为不同浏览器在这种模式下的行为差异非常大,如果不使用某些hack技术,跨浏览器的行为根本就没有一致性可言。
  • 触发标准模式:
    ``
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • 触发准标准模式:
    `<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> `
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

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

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

本文章版权归作者和饥人谷所有,转载须说明来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [标准模式与混杂模式] 关于渲染模式:在多年以前(IE6诞生以前),各浏览器都处于各自比较封闭的发展中(基本没有兼...
    尹萨萨阅读 5,699评论 0 0
  • HTML、XML、XHTML 有什么区别 1.HTML 是用来描述网页的一种语言,指的是超文本标记语言 (Hype...
    饥人谷_牛牛阅读 4,012评论 0 2
  • 1.HTML、XML、XHTML的区别 HTML:超文本标记语言(Hyper Text Markup Langua...
    IT男的成长记录阅读 2,166评论 0 1
  • HTML、XML、XHTML有什么区别? XMLXML是The Extensible Markup Languag...
    zx9426阅读 3,199评论 0 1
  • 看惯了人来人往,见惯了缘聚缘散,习惯了人间的悲欢离合,与时光的竞走中,渐渐懂得以一颗云淡风轻的心态,去面对世间万物...
    8321071f9826阅读 4,106评论 0 1