标签仅用于包裹语义上的标题性内容,如logo、导航、搜索框等,并必须包含–等标题元素;不可滥用为视觉布局容器或塞入轮播图、广告等非标题内容。

header 标签不是“网页最上面那块儿”的通用容器
它只该包裹页面或区块的「标题性内容」,比如网站 logo、主导航、搜索框——但前提是这些内容在语义上属于当前范围的「页眉」。很多人一看到顶部就套 ,结果把轮播图、广告位甚至登录弹窗都塞进去,反而破坏了无障碍阅读和 SEO 结构。
常见错误现象:screen reader 读出一堆“header”却找不到实际标题;outline 工具显示多个嵌套 但无对应 支撑。–
- 一个页面可以有多个
(比如内部也能有自己的),但每个都必须承载该范围的「引导性内容」 - 不包含主要内容(如文章正文、商品列表);也不该用来做视觉居中或清浮动的“样式占位符”
- 如果顶部只有导航栏,且没有 logo 或站点标题,用
更准确;硬加属于语义冗余
header 必须配合 heading 元素才有语义价值
单独一个 标签不会自动产生层级或可访问性意义。它的作用是为内部的 ~、 或其他标题相关元素提供上下文包装。
使用场景:博客首页的站点名 + 副标题 + 导航;文章页内每篇 自带的标题 + 发布时间 + 作者信息。
- 推荐结构:
站点名称
- 避免:
(没 heading,语义断裂)... -
已被废弃,别再用;多级标题建议用+替代
不要用 header 替代 CSS 布局需求
有人为了省事,把 可以嵌套,但必须符合「范围从大到小」的逻辑链:页面级 header 的难点不在写法,在判断「这里到底算不算一个独立的标题上下文」。很多时候删掉 当成“顶部固定区域”的语义化 position: fixed、top: 0。这会导致两个问题:一是视觉布局和语义完全脱钩,二是当用户缩放或使用高对比度模式时, 的默认行为(如流式宽度、默认 margin)可能意外干扰定位逻辑。 实现吸顶效果,务必检查 z-index 和 contain: layout paint 是否影响滚动性能 内部文字若未设 min-font-size,可能小到无法识别——这不是语义问题,但常被忽略嵌套 header 的边界在哪
→ 区块级 → 其内部的 → 再下一级 的 。一旦跳级或反向嵌套(比如在 里塞 ),就会让辅助技术困惑。
(版权信息属于 footer 范畴,不该用 header 表达) 没限制,但屏幕阅读器通常只识别前两层,更深的容易被跳过 反而更干净——只要 heading 和 nav 的父子关系清晰,语义就已经成立。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











