原因
html5 不是基于sgml (标准通用标记语言),不需要对dtd文件进行引用,但是需要doctype来规范浏览器的行为,否则浏览器将开启怪异模式,而html4.01 基于sgml,需要引入dtd,才能告知浏览器文档使用的文档类型。
作用
<!DOCTYPE>
声明位于文档中的最前面的位置,处于 <html>
标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。告诉浏览器按照何种规范解析页面
严格模式与混杂模式
严格模式的排版和JS运作模式是 以该浏览器支持的最高标准运行。
在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
重点
DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
补充其他的文档类型
HTML 4.01规定了三种文档类型:Strict、Transitional以及Frameset。
XHTML 1.0规定了三种XML文档类型:Strict、Transitional以及Frameset。
Standards(标准)模式(也就是严格呈现模式)用于呈现遵循最新标准的网页。
Quirks(包容)模式(也就是松散呈现模式或者兼容模式)用于呈现为传统浏览器而设计的网页。