前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
首页程序员面试题库article section 区别 HTML5
HTML语义与文档

文章卡片用 article,普通内容分区用 section 吗?

<article> 适合一篇能独立阅读或复用的文章、评论或帖子;<section> 是当前页面里有主题的分区。两者可以嵌套,关键看内容脱离当前页面后是否仍自成一体。

前端进阶之旅 · 一题精讲更新于 2026.09.29
HTML#语义与文档
先看核心答案读代码示例
理解线索

独立内容与主题分区

  1. <article>可独立分发或复用的一块内容
  2. <section>当前文档中的主题分区
  3. 标题帮助读者识别文章或分区目的

不是所有布局容器都需要 section;没有明确主题时普通 <div> 更合适。

核心回答

先记住这个答案

一篇博客、一条可独立阅读的新闻或评论,适合用 <article>;一篇文章里的“原因”“示例”等主题区域,适合用 <section>。判断方法是:把这块内容单独拿走,它还能以自己的标题、上下文成立吗?能,通常偏向 article;只是当前文档的一个主题分段,通常偏向 section。若只是为了挂 CSS 类名包一层,没有主题语义,用 <div> 即可。

  • <article> 表示独立成篇内容
  • <section> 表示有主题的分区
  • 文章内可包含多个 section
  • 纯样式容器通常用 <div>

博客列表与文章正文

首页展示多篇文章摘要,每个摘要都指向一篇完整作品,可以把每张卡视作独立内容。进入文章页后,正文里的不同主题再按章节分区。

独立文章内的主题分区HTML
<article>
  <h2>图片为什么会影响首屏速度?</h2>
  <section>
    <h3>资源选择</h3>
    <p>先按实际显示尺寸选择候选图片。</p>
  </section>
</article>

这里 <article> 脱离列表仍有标题和主题;内部 <section> 只说明这篇文章中的一个部分。语义元素可以嵌套,不存在“用了 article 就不能再用 section”的规则。 页面中也可以有多个 article,例如帖子下的独立评论。反过来,一个 section 可以收纳一组相关 article,比如“最新文章”。要按实际内容关系判断。

标题和边界要说得清

分区最好有能说明主题的标题,让读者和辅助技术知道这一块为何存在。只有一层背景色、圆角或间距的包装层,不会因为写成 <section> 就获得有意义的结构。

<article> 也应有可识别标题。不要因为 SEO 口号而机械地把每张小组件都写成 article;独立可复用性和内容完整性才是判断依据。

一个博客首页可以有多个独立的 <article>:每张文章卡片即使脱离列表,标题、摘要和链接仍能独立理解。文章详情页里“性能测试方法”“结果分析”这样的有标题章节适合用 <section>;仅为了加背景色或控制间距的包装层用 <div> 即可。<section> 不是给任意盒子增添高级语义的装饰,缺少可识别标题时常没有明确的文档结构价值。

回答前,多想一步

容易答错的地方

把所有带边框的盒子都写成 <section>
视觉分组不等于文档主题。没有明确主题的容器用 <div> 更合适。
认为 article 与 section 互斥
文章可包含多个主题分区,分区也可以组织多篇独立文章。
试着用自己的话回答

面试官还会怎么问?

用户评论能用 <article> 吗?

如果评论本身可独立引用、分享和阅读,可以;简短装饰文本则未必需要。

页面主体与文章怎么区分?

<main> 标识当前页面主要内容,里面可以是一篇或多篇 <article>。

一个 section 一定要有标题吗?

通常应有可识别主题和标题;若无法说明主题,先考虑是否只是样式容器。

从一道题,走向一组知识

把知识连起来

语义与文档

header、main、footer 各放什么?页面能有几个 main?

<main> 负责标识页面主要内容,文章和分区可位于其中。

语义与文档

h1 到 h6 怎样组织页面标题才好读?

清楚的标题层级能让 section 和 article 更容易被导航。

参考资料

  • MDN 参考文档

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 博客列表与文章正文
  3. 标题和边界要说得清
  4. 容易答错的地方
  5. 面试官还会怎么问
  6. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑