HTML5中正确使用header和footer需遵循语义规则:header应包裹引导性内容(如logo、导航),footer承载补充信息(如版权、备案号);二者须嵌套在合理上下文中,不可替代body;旧浏览器需声明display:block;多实例允许但顶层通常唯一。

直接用 和 标签就是 HTML5 化的正确做法,但光套标签远远不够——语义错误、嵌套失当、CSS 重置遗漏,都会让“HTML5 化”变成假把式。
header 和 footer 必须是语义容器,不是样式占位符
很多人把 旧版浏览器(IE8 及以下)不认识 立即学习“前端免费学习笔记(深入)”; 真正难的不是写对标签,而是判断某段内容到底算「页眉」还是「副标题区」,或者该归入 当成
应包裹页面或区块的「引导性内容」:如站点 logo、主导航、搜索框;不能只放一个 或纯文字 应承载「补充性信息」:版权、联系方式、次要链接、备案号;不能塞主菜单或广告横幅 和 (比如每篇 自带独立页眉页脚),但顶层 通常只一个避免 display: block 兼容陷阱
等新标签,会默认当成未知元素,display 为 inline,导致布局错乱。现代项目虽已不需兼容 IE8,但若用在内网老旧系统或遗留框架中,仍要留意。
header, footer { display: block; } 是稳妥做法html5shiv 时,这个 CSS 规则比 JS 补丁更轻量、更可控postcss-html5-display 类插件自动注入与 main、nav、aside 组合时的层级约束
和 不是顶级容器,不能替代 或包裹整个页面结构。它们必须嵌套在有意义的上下文中。
站点标题
( 是根级元素,不可被任何语义标签包裹) 可以出现在 内,也可独立存在;但 里放 更符合「导航属于页眉一部分」的语义直觉 还是 。语义边界模糊时,优先看它是否随整个页面复用——全局复用的归 ,局部复用的归对应区块内部的语义标签。











