说说DOCTYPE的作用以及标准模式与混杂模式的区别

<!DOCTYPE>定义和用法:

  • 声明必须是 HTML 文档的第一行,位于 标签之前。
  • 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
  • 在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
  • HTML5 不基于 SGML,所以不需要引用 DTD。

    提示:请始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型。

<!DOCTYPE>作用:

<!DOCTYPE>声明位于文档中的最前面,处于 <html>标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

标准模式与与混杂模式的区别

其实所谓的标准模式是指,浏览器按 W3C 标准解析执行代码;混杂模式(怪异模式)则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。
浏览器解析时到底使用标准模式还是怪异模式,与你网页中的 DTD 声明直接相关, DTD 声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略 DTD 声明 , 将使网页进入怪异模式。

严格模式下:页面排版及JS解析是以该浏览器支持的最高标准来执行
混杂模式:不严格按照标准执行,主要用来兼容旧的浏览器,向后兼容

DTD即文档类型定义(Document Type Definition)