不能。header必须作为section或article的直接子元素,且每个节元素内限一个;它须服务该节自身(如文章标题、作者),不可挪至外层,也不得嵌套于div等非节元素中,否则语义失效。

header在section和article里能随便套用吗
不能。每个section 或 article 内部的 header 必须服务于它最近的父级节元素,且只能有一个。你写两个 header,屏幕阅读器会困惑哪个是主标题;嵌套在非节元素(比如 div)里,语义就直接失效——浏览器不报错,但 Lighthouse 会标 “Missing heading in landmark”。
-
section和article都是“节元素”,合法承载header -
header必须是它们的直接子元素,不能隔一层div或span - 同一
section内出现两次header,属于结构错误,辅助技术可能只读第一个
section里的header该放什么内容
section 的 header 是为本区块服务的介绍性内容,不是装饰性横条。它应包含明确的主题标识,通常是一组 h2–h6 标题 + 可选的副标题、说明文字或元信息。
- ✅ 合理:一个“兼容性说明”
section里放<header><h2>浏览器兼容性</h2> <p>支持 Chrome 90+、Firefox 85+……</p></header> - ❌ 错误:把全站导航菜单塞进
section的header;或只放一个无意义的<div class="title-bar"></div> - 注意:如果
section没有标题,又没其他介绍性内容,就别硬加header——直接用h2更干净
article里的header为什么不能挪到外面
article 的 header 承载的是该内容单元自身的元数据,比如标题、作者、发布时间、分类标签。这些信息逻辑上只归属这篇 article,挪到外层 main 或全局 header 就破坏了语义绑定。
- 常见错误:把所有文章的标题都堆在
main开头,再用 CSS 定位到每篇article上方——这等于让标题脱离所属内容 - 正确做法:每篇
article自带header,里面放<h2>标题</h2> <p>作者 · 2026-07-15</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill6712" title="Wechat HTML Publisher"><img src="https://img.php.cn/upload/skill/000/000/081/179109368394970.jpg" alt="Wechat HTML Publisher" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill6712" title="Wechat HTML Publisher" class="overflowclass">Wechat HTML Publisher</a> <p class="overflowclass">直接上传HTML富文本到微信公众号草稿箱。支持完整的HTML格式,无需Markdown转换。</p> </div> <a rel="nofollow" href="/xiazai/skill6712" title="Wechat HTML Publisher" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> - 性能影响小,但可访问性影响大:屏幕阅读器靠这个定位“这是哪篇文章”,搜索引擎靠这个提取独立索引单元
header嵌套层级与标题级别怎么对齐
HTML 大纲算法依赖标题层级与节元素嵌套关系。外层是h1,内层 section 或 article 的 header 里就不能再用 h1;必须降级,否则结构混乱。
-
body下的全局header用h1(网站名或页面主题) - 其内部
article的header应用h2(文章标题) - 若
article内还有section,其header用h3,依此类推 - 不要为了视觉一致强行用
h1+ CSS 改样式——标题语义错了,大纲就断了
真正容易被忽略的点是:header 不是“看起来在上面”的容器,而是“逻辑上属于谁”的声明。哪怕你把它用 CSS 定位到卡片右下角,只要它包在某个 article 里,它就是那篇文章的头部;一旦脱离节元素上下文,它就只是个空壳。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










