Doctype作用?严格模式和混杂模式区别

513 阅读2分钟

作用

  • 出现在html文件第一行,以形式出现;
  • 他不是一个标签,而是一个声明;一种文件类型定义(DTD),作用是告诉浏览器使用什么规范来解析当前html文件;
  • 文档对象类型(DTD)它是一组机器可读的规则,定义了HTML或XML在在特定的版本允许有什么、不允许有什么;
  • 在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施。浏览器通过分析页面的 DOCTYPE 声明来了解要使用哪个 DTD ,由此知道要使用 HTML 的哪个版本。
  • 浏览器在解析网页的是时候,会根据doctype找到指定的的DTD规则,直到当前html文件采用什么规则,从而根据该规则页面的有效性并采取相应措施

严格模式和混杂模式

  • 指浏览器的呈现模式,严格模式(标准模式、准标准模式)和混杂模式(怪异模式);
  • 严格模式,要求浏览器按照W3C标准呈现页面
  • 混杂模式:要求浏览器按照自己的、向后兼容的方式呈现页面
  • 到底使用什么方式呈现,则与声明的DTD文档类型相关

了解

对于 HTML 4.01 文档,

包含严格 DTD 的 DOCTYPE 常常导致页面以标准模式呈现。 包含过度 DTD 和 URI 的 DOCTYPE 也导致页面以标准模式呈现。 但是有过度 DTD 而没有 URI 会导致页面以混杂模式呈现。 DOCTYPE 不存在或形式不正确会导致 HTML 和 XHTML 文档以混杂模式呈现。

对于HTML5文档,

HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。( HTML5 没有严格和混杂之分)