核心知识
HTML5 文档骨架
骨架说明文档类型、语言、元数据和可见内容分别放在哪里。
- <!doctype html> 是文档类型声明,让浏览器采用标准模式(非怪异模式)
- html 的 lang 帮助浏览器和辅助技术识别语言
- head 放元数据,body 放页面内容;现代 HTML 由持续更新的 HTML Living Standard(动态标准)定义。
https://html.spec.whatwg.org/multipage/
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>校园生活</title>
</head>
<body>页面内容</body>
</html>
为什么要写文档类型声明?——标准模式与怪异模式
| 比较 | 标准模式(no-quirks) | 怪异模式(quirks) |
|---|---|---|
| 含义 | 采用现代网页通常使用的排版规则。 | 保留部分旧浏览器的排版行为,以兼容早期网页。 |
| 如何触发 | 普通 HTML 文档开头正确写出 <!doctype html>。 | 普通 HTML 文档缺少声明,或使用某些旧式声明时可能触发。 |
| 影响 | 按现代规则处理尺寸和布局。 | 某些元素的尺寸计算、表格布局等可能不同;页面不一定明显出错。 |
直观例子:为一个盒子设置宽度后,内部留白是否计入这个宽度,在两种模式下可能不同。于是同样的样式,显示宽度也可能不同;具体计算将在盒模型部分学习。
记住:怪异模式不是“代码有错就自动进入的模式”;标准模式也不保证代码全部正确,或所有浏览器显示完全一致。新网页应在文档开头写好声明。
另有“有限怪异模式”(limited-quirks),只保留少数兼容行为。document.compatMode 返回 BackCompat 表示怪异模式;CSS1Compat 不能区分标准模式与有限怪异模式。
预览说明:课件的代码运行框统一使用标准模式,删除框内的声明不会切换模式;比较两种模式需要分别打开独立的 HTML 文档。