是组织独立可分发内容的语义刚需,用于博客正文、评论、产品卡片等;仅作逻辑分组,如长文中的“背景”“方法”部分;每个可含独立,嵌套宜扁平,多共存时不冲突。

<article></article> 是组织单篇博客或新闻内容的最小语义单元,不是可选装饰,而是结构刚需。用 <div> 套一堆 <code><p></p> 和 <h2></h2>,等于把文章塞进无标签信封——机器读不懂,屏幕阅读器跳过,SEO 权重稀释。
什么时候必须用 <article></article> 而不是 <section></section>
<article></article> 表示能独立存在、可被分发、复用的内容块;<section></section> 只是逻辑分组,不能脱离上下文独立理解。
- 博客正文、用户评论、产品卡片 —— 用
<article></article> - 一篇长文中“背景”“方法”“结论”三个部分 —— 用
<section></section> - 首页上并列的三篇最新文章 —— 每篇都应包裹在独立的
<article></article>中,外层用<main></main>或<section></section>统一管理
<header></header> 和 <footer></footer> 在文章内部怎么用
别只在页面最外层用 <header></header>。每篇 <article></article> 内部都可以有自己的 <header></header>(放标题、作者、时间)和 <footer></footer>(放标签、分享按钮、相关链接)。
常见错误:
– 把发布时间写成普通 <p></p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill8272" title="anything-to-html"><img
src="https://img.php.cn/upload/skill/000/000/081/179195588450431.jpg" alt="anything-to-html" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill8272" title="anything-to-html" class="overflowclass">anything-to-html</a>
<p class="overflowclass">将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。</p>
</div>
<a rel="nofollow" href="/xiazai/skill8272" title="anything-to-html" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>,应使用 <time datetime="2026-04-29">4月29日</time>
– 用 <div class="author"> 代替 <code><header></header>,失去语义锚点
– <footer></footer> 放在 <article></article> 外面,导致辅助技术无法关联到对应文章
嵌套层级超过 4 层就该警惕
HTML 结构不是越深越“专业”,而是越扁平越可靠。一个典型健康结构是:
<main><article><header><h1>标题</h1>
<time>...</time></header><figure>@@##@@<figcaption>...</figcaption></figure><p>段落</p>
<section><h2>小节标题</h2>
<p>内容</p></section><footer><ul class="tags">...</ul></footer></article></main>
注意:
– <main></main> 下直接跟 <article></article>,不加额外 <div>
<br>– <code><section></section> 出现在 <article></article> 内部,而非替代它
– 所有标题(<h1></h1>–<h6></h6>)必须按逻辑顺序嵌套,不能跳级(如 <h1></h1> 后直接 <h3></h3>)
最容易被忽略的是:同一页面中多个 <article></article> 的 <h1></h1> 并不冲突——每个 <article></article> 构成独立大纲上下文,浏览器和读屏软件会分别处理。硬要统一成 <h2></h2> 反而破坏语义。










