doctype是指定页面标准的声明。指定用哪种规则来解读文档。(规则是w3c发布的一个文档类型定义(dtd)中包含的规则)
如果没有声明doctype,就会使用浏览器默认的doctype进行声明。但是每个浏览器默认的解释模型不一样。
doctype有html和xhtml与html5 三种。
是html5的写法。
html 与xhtml下又分为三种声明:
过渡的(Transitional):一种要求不是很严格的DTD,允许使用html4.01 中的标识。(就是可以使用一些表现层的标识和元素属性)http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
严格的(strict):一种严格要求的DTD, 不允许使用任何表现层的标识和属性 http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
框架的(frameset): 一种专门针对框架页面所使用的DTD,当页面中包含框架元素时使用。http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd
浏览器一般提供了两种渲染模式:
如果给出了doctype声明但是没有DTD或URL就会按照混杂模式来渲染。(浏览器采用更加宽松的、向后兼容的方式来渲染页面。 )
如果给出了doctype且声明DTD或URL就会按照标准模式渲染。(浏览器按照标准规约进行渲染)
解释:因为DTD都是基于SGML标准方法编写的文档。所以都需要引入DTD,但是html5不是基于sgml的,所以不需要引入。