仅适用于有明确标题、可独立成节的内容,必须配–,不可替代或,误用会损害SEO与无障碍访问。

直接说结论:<section></section> 不是用来“划分功能模块”的通用容器,它只适用于有明确主题、能配标题、可独立成节的内容块;把导航栏、按钮组、纯样式包装层套上 <section></section>,反而会污染语义结构。
什么时候必须用 <section></section> 而不是 <div>
<p>判断依据非常实在:删掉这个区块后,页面其余内容是否依然逻辑自洽?这块内容能不能被一个 <code><h2></h2> 或 <h3></h3> 准确概括?
- 适合用
<section></section>:产品功能介绍(带 <h2>核心功能</h2>)、FAQ 列表(<h3>常见问题</h3>)、技术参数表格(<h3>规格参数</h3>)
- 不适合用
<section></section>:仅为了加背景色的横幅区、居中按钮组、表单外层 padding 包装、空 <section></section> 撑高度
- 危险信号:里面只有
<p></p> + <img alt="怎样定义网页核心语义块_SECTION标签划分页面功能模块" >,没标题;或标题是 <div class="title"> 这类模拟标签
<h3>
<code><section></section> 必须配 <h2></h2>–<h6></h6>,不能省
<section></section>:产品功能介绍(带 <h2>核心功能</h2>)、FAQ 列表(<h3>常见问题</h3>)、技术参数表格(<h3>规格参数</h3>)<section></section>:仅为了加背景色的横幅区、居中按钮组、表单外层 padding 包装、空 <section></section> 撑高度<p></p> + <img alt="怎样定义网页核心语义块_SECTION标签划分页面功能模块" >,没标题;或标题是 <div class="title"> 这类模拟标签
<h3>
<code><section></section> 必须配 <h2></h2>–<h6></h6>,不能省W3C 明确要求 <section></section> 应“拥有自己的标题”,没有标题的 <section></section> 在语义上是断裂的——爬虫可能忽略它,屏幕阅读器无法把它当一节来跳转。
- 标题必须是真实的
<h2></h2>–<h6></h6>,不能用<p class="heading"></p>代替 - 层级要连贯:父级用
<h2></h2>,子<section></section>就该用<h3></h3>;跳到<h5></h5>会让大纲混乱 - 不强制用
<h1></h1>:页面中<h1></h1>应唯一,通常留给主标题;<section></section>起手推荐<h2></h2>
<section></section> 和 <article></article>、<main></main> 的分工很关键
它们不是“谁包谁”的层级关系,而是语义角色不同,混用会导致结构误读。
-
<article></article>:代表可独立分发/复用的内容,比如一篇博客、一条新闻、一个用户评论——它自带隐含的“章节”语义,内部可再用<section></section>分小节 -
<main></main>:页面唯一主内容区,应直接包裹<article></article>或顶层<section></section>,但不能嵌套在<article></article>或<section></section>里 -
<section></section>:不能替代<article></article>去包整篇博文;也不能替代<main></main>做全页内容容器
最容易被忽略的一点:语义错误不会立刻报错,页面照样渲染,但 SEO 权重会被稀释,辅助设备导航会失效,后期维护时别人读 HTML 根本看不出哪块是真模块、哪块只是你随手套的“样式盒子”。

















