HTML 区块元素¶
“区块元素”是传统教学术语,通常指默认从新行开始并占据可用宽度的元素。
现代 HTML 更强调内容模型与语义;是否换行主要由 CSS 的 display 决定。
常见区块结构¶
main:页面独有的主要内容。article:可独立分发的文章、帖子或卡片。section:围绕一个主题组织的章节,通常带标题。nav:主要导航链接组。aside:与正文间接相关的补充信息。header、footer:页面或章节的引导与收尾内容。div:没有额外语义的通用容器。
<main>
<article>
<header>
<h1>浏览器如何解析 HTML</h1>
<p>更新时间:<time datetime="2026-07-17">2026 年 7 月 17 日</time></p>
</header>
<section>
<h2>构建 DOM</h2>
<p>浏览器把标记解析为节点树。</p>
</section>
</article>
</main>
div 的正确用途¶
当内容没有更准确的语义元素,只需要分组以便布局或添加样式时,可使用 div:
不要先选择 div,再用 role 模拟已经存在的原生元素。
例如操作应使用 button,导航应使用 a,数据表格应使用 table。
块级表现不是固定语义¶
CSS 可以让 div 使用弹性布局,也可以让其他元素呈现为块。
改变 display 不会改变 HTML 内容模型、键盘行为或无障碍角色。
嵌套规则¶
元素应按相反顺序闭合,并遵守各自内容模型。
p 不能包含 div、section 等流式容器;浏览器可能提前关闭段落。
<section aria-labelledby="status-heading">
<h2 id="status-heading">服务状态</h2>
<p>所有系统运行正常。</p>
</section>
选择建议¶
- 内容能独立存在时考虑
article。 - 内容是有标题的主题章节时考虑
section。 - 只是布局钩子且没有语义时使用
div。 - 保持标题层级与文档结构一致,不按字号选择标题。
- 不使用大量空
div或<br>制造间距。 - 用验证器和浏览器元素面板检查最终 DOM。
下一篇:HTML 布局。