HTML5核心语义标签nav、header、main、footer各司其职:nav仅用于主导航;header表示区块引导区且需含标题;main全页唯一、直属于body、只包核心内容;footer归属最近父区块,专用于结尾信息。

HTML5核心语义标签不是样式工具,而是结构语言——nav、header、main、footer各自承担不可替代的语义职责,用错位置会干扰屏幕阅读器、损害SEO、增加维护成本。关键不在“用了没”,而在“用得准不准”。
nav:只管主导航,不背其他链接的锅
- ✅ 正确用法:用
- 包裹首页、产品、关于、联系等核心跳转项;可加aria-label="主导航"明确用途
- ❌ 常见误用:页脚友情链接、文章末的“上一篇/下一篇”、按钮式操作入口(如“立即下载”)都不该放进
- ⚠️ 注意:一个页面可有多个
header:是“介绍区”,不是“顶部横条”
- ✅ 正确用法:整个页面的
含Logo和主标题;每篇博客 内部再套一个 ,放该文标题+作者+发布时间 - ❌ 常见误用:把广告横幅、促销弹窗、无关按钮塞进
;单独使用 却不包含 –
,导致辅助技术无法识别其功能
- ⚠️ 注意:每个
最好自带一个标题级元素,哪怕只是 ,这是语义完整的关键信号
main:全页唯一,且只装“非它不可”的内容
立即学习“前端免费学习笔记(深入)”;
- ✅ 正确用法:博客页中只包正文段落、配图、评论入口;电商页中只包商品主图、规格表、加入购物车按钮
- ❌ 常见误用:把顶部导航、侧边栏推荐、页脚版权、面包屑路径一起塞进
;或把它嵌套在 、



















