语义化标签结构由header、nav、main、section、article、aside、footer七个核心标签构成:header表页眉或章节头,nav专指主导航,main为唯一且直接子于body的内容主体,article包裹可独立分发内容,section需带标题并围绕同一主题,aside放附属信息,footer用于页面或article底部元信息。
把内容分区逻辑转成标签结构,核心是让每个区块“自己会说话”——用浏览器和辅助工具能直接识别的标签,而不是靠 class 名猜意思。
最简也最稳的结构就是这七个标签搭出主干:header、nav、main、section、article、aside、footer。它们不是样式工具,而是语义信标。
写 <div class="header">,浏览器和读屏软件只会当它是普通容器,不会识别为页眉,也不会触发 role="banner"。SEO 也抓不到结构权重——Google 明确把 main 内容视为主索引区,而 <div class="main"> 就是普通文本块。
常见问题包括:
立即学习“前端免费学习笔记(深入)”;
解决方法很简单:删掉 class,直上 header、main 等原生标签。样式照写,语义自动带上。
结构错位会让语义失效,不是写出来就行,得按规范来。
每个 section 和 article 都该有标题,而且 h1–h6 要按逻辑顺序使用。比如 article 用 h1,里面的小节用 h2,再往下是 h3。跳过级别(如 h2 后接 h4)会让大纲混乱,影响读屏体验和 SEO。
标题不只是给用户看的,它参与生成文档结构树。W3C Validator 会检查这个,错误提示常是 “Heading level should be sequential”。