doctype是什么:它是HTML文档第一行的文档类型声明,不是HTML标签,核心作用是强制浏览器进入标准渲染模式,避免进入混杂怪异模式;HTML5仅需简写,必须放在文档最顶端,前面不能出现任何字符,一旦遗漏,CSS盒模型、布局样式会出现多浏览器不一致的错乱问题,仅适用于网页HTML文档,纯文本、JS、CSS文件不需要添加该声明。

doctype的核心属性

doctype大小写不敏感,和都能正常生效,不需要闭合标签,也不会被页面渲染出来。

不同HTML版本doctype写法对比

文档版本doctype代码渲染模式
HTML5标准模式
HTML4.01Strict带DTD完整声明标准模式
无doctype不写任何声明混杂怪异模式

容易踩坑的边界条件

只要doctype前面存在空格、注释、XML声明,IE9及更早版本就会自动切换到怪异模式,页面布局会出现明显偏差。

HTML5不再依赖SGML与DTD文件,所以不用填写冗长的DTD地址,只用最简写法即可,这是WHATWGHTML标准明确规定的写法。