声明位于文档中的最前面,处于标签之前。告知浏览器的解析器,用什么文档类型规范来解析这个文档。
文档模式
混杂模式、标准模式(准标准模式)
混杂模式是使用浏览器自己的方式解析执行代码,不同浏览器解析执行的方式不一样。它是一种向后兼容的解析方法,说的透明点就是可以实现IE5.5以下版本浏览器的渲染模式。
标准模式是指,浏览器按 W3C 标准解析执行代码。准标准模式与标准模式非常类似,但确实有小的差别(可以忽略不记)。主要体现在对于表格中使用图片。所谓“标准模式”是指这两种中的任何一种,即使检测文档模式,也不会发现有什么不同。
虽然两种模式主要影响CSS内容的呈现,但在某些情况下也会影响到JavaScript的解释执行。
DTD的作用——文档规范与呈现模式
文档类型定义(DTD),是一组机器可读的规则,它们定义XML或HTML的特定版本中允许有什么,不允许有什么。
HTML 4.01规定了三种文档类型:严格类型、过渡类型以及框架类型。如下:
严格类型:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/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"> ——开启文档模式中的准标准模式
HTML5只规定了一种文档类型: <!DOCTYPE HTML>标准模式
HTML4.01中的doctype需要对DTD进行引用,因为HTML4.01基于SGML。而HTML 5不基于SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为。