- <!DOCTYPE html> 是什么:
- DOCTYPE 是Document Type(文档类型)的缩写,是文档类型声明;
- <!DOCTYPE> 不是html标签,而是浏览器指令,告诉浏览器当前页面使用了哪种版本的html,需要用哪种标准来解析它;
- 在任何版本中都对大小写不敏感,可以写成<!doctype html>;
- 简言之,<!doctype html>就是html5标准网页声明,告诉浏览器当前文档所使用的html规范。
- <!DOCTYPE html> 用来做什么?:
背景:
HTML从最开始没有任何规范,到经历HTML4,再到现在的HTML5,每个时期的规范都不尽相同,比如在较早版本中,规定标签必须成对出现,再到现在的<input/>、<br/>等等,这样不同版本不同的解释,就需要告诉浏览器当前页面HTML编码所采用的版本规范。
又因为浏览器可以解析的文档不只是HTML, 还有xhtml,xml...,所以文档声明就是在告诉浏览器该以什么样的标准去解析它,以保证浏览器可以正确解析文档类型。因此,在所有HTML文档中规定DOCTYPE是非常有必要。
作用:- 声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。
-
document.compatMode:
-
BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。
-
CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。
这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。
如果你的页面添加了<!DOCTYPE html>,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。这就是<!DOCTYPE html>的作用。 -
-
- 声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。
- <!DOCTYPE html> 使用的场景是什么?:
- 声明必须位于HTML5文档的第一行,也就是位于所有标签之前;
- 声明必须位于HTML5文档的第一行,也就是位于所有标签之前;
- 简述 HTML4.01 和 HTML5 的区别:
- HTML 4.01 中,<!DOCTYPE> 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言)。DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容;
- HTML5 不是基于 SGML,因此不要求引用 DTD;
参考链接: