<!DOCTYPE html> 是 HTML 文档的第一行。它告诉浏览器以标准模式而不是怪异模式来渲染(一种模拟 1990 年代浏览器的旧兼容性模式)。
html
...
没有 doctype 的情况下,浏览器会回退到怪异模式,这会以令人惊讶的方式改变布局行为 — 最著名的是盒模型:
Quirks mode: width includes padding + border (old IE box model)
Standards mode: width is the content box (CSS spec) — predictable
其他怪异行为包括表格单元格中 line-height 的不同处理、图像间距和 CSS 单位。这些不一致性会导致你精心编写的 CSS 呈现方式不同,因此你几乎总是需要标准模式。
在 HTML4/XHTML 中,doctype 是一个引用 DTD(文档类型定义)的长 URL:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "...dtd">
HTML5 将其简化为仅仅 <!DOCTYPE html> — 它不再指向 DTD;它只是浏览器识别的模式开关。
始终将 <!DOCTYPE html> 作为第一行包含。
这是一行保证,保证你的页面使用现代、一致的渲染规则,这是每个 CSS 教程和框架都假设的 — 省略它会导致令人困惑、难以调试的布局差异。