<section>:通用章节元素
<section> HTML 元素表示文档中一个通用的独立章节,它没有更具体的语义元素来表示它。除了极少数例外情况,章节应始终包含标题。
试一试
属性
此元素仅包含全局属性。
使用说明
如上所述,<section> 是一个通用的分段元素,仅当没有更具体的元素来表示它时才应使用。例如,导航菜单应该用 <nav> 元素包裹,但搜索结果列表或地图显示及其控件没有特定的元素,可以放在 <section> 内。
另请考虑以下情况
- 如果元素的内容表示一个独立的、原子的内容单元,该内容单元作为独立的部分进行联合是有意义的(例如,博客文章或博客评论,或报纸文章),则 <article>元素将是更好的选择。
- 如果内容表示与主要内容一起使用的有用的切向信息,但不是其直接的一部分(如相关链接或作者简介),则使用 <aside>。
- 如果内容表示文档的主要内容区域,请使用 <main>。
- 如果您只是将元素用作样式包装器,请改用 <div>。
重申一遍,每个 <section> 应被识别,通常通过包含标题(h1 - h6 元素)作为 <section> 元素的子元素,在可能的情况下。请参见下面的示例,了解在没有标题的情况下可能看到 <section> 的位置。
示例
简单用法示例
之前
html
<div>
  <h2>Heading</h2>
  <p>Bunch of awesome content</p>
</div>
结果
之后
html
<section>
  <h2>Heading</h2>
  <p>Bunch of awesome content</p>
</section>
结果
在没有标题的情况下使用 section
在 Web 应用程序/UI 部分而不是传统文档结构中通常会发现没有标题使用 <section> 的情况。在文档中,没有标题来描述其内容的单独内容部分实际上没有任何意义。此类标题对所有读者都有用,但对使用屏幕阅读器等辅助技术的用户尤其有用,它们也对 SEO 有益。
但是,考虑一下辅助导航机制。如果全局导航已包装在 <nav> 元素中,则可以想象将上一个/下一个菜单包装在 <section> 中
html
<section>
  <a href="#">Previous article</a>
  <a href="#">Next article</a>
</section>
或者,如何控制应用程序的某种按钮栏?这可能不一定需要标题,但它仍然是文档的一个独立部分
html
<section>
  <button class="reply">Reply</button>
  <button class="reply-all">Reply to all</button>
  <button class="fwd">Forward</button>
  <button class="del">Delete</button>
</section>
结果
根据内容,包含标题也可能对 SEO 有益,因此这是一个需要考虑的选项。
技术摘要
| 内容类别 | 流内容、分段内容、可感知内容。 | 
|---|---|
| 允许的内容 | 流内容. | 
| 标签省略 | 无,开始和结束标签都是必需的。 | 
| 允许的父元素 | 任何接受 流内容 的元素。请注意, <section>元素不能是<address>元素的后代。 | 
| 隐式 ARIA 角色 | 如果元素具有 可访问名称,则为 region,否则为generic | 
| 允许的 ARIA 角色 | alert、alertdialog、application、banner、complementary、contentinfo、dialog、document、feed、log、main、marquee、navigation、none、note、presentation、search、status、tabpanel | 
| DOM 接口 | HTMLElement | 
规范
| 规范 | 
|---|
| HTML 标准 # the-section-element | 
浏览器兼容性
BCD 表格仅在浏览器中加载