第29篇:实战:博客文章页完整结构
·
第29篇:实战:博客文章页完整结构
博客是展示 HTML5 语义化标签的最佳场景。本篇将综合运用 header、nav、main、article、aside、footer 等标签,搭建一个完整的博客文章页面。
学习目标
- 能使用 HTML5 语义化标签搭建完整的博客页面结构
- 能正确使用 article、section、aside 等容器标签
- 能在文章中合理使用 figure/figcaption、blockquote、code 等标签
- 能搭建包含侧边栏的博客布局
- 能编写符合文档大纲的博客页面
核心知识点
一、博客页面的语义化结构
一个标准的博客文章页应该这样组织:
博客文章页结构
├── <header> — 网站头部
│ ├── 网站标题/Logo
│ └── <nav> — 主导航
├── <main> — 页面主要内容
│ └── <article> — 文章主体
│ ├── 文章标题(h1)
│ ├── 文章元信息(作者、时间、标签)
│ ├── <section> — 文章章节1
│ ├── <section> — 文章章节2
│ └── ...更多章节
├── <aside> — 侧边栏
│ ├── 作者简介
│ ├── 文章分类
│ ├── 热门文章
│ └── 标签云
└── <footer> — 页脚
└── 版权信息、相关链接
二、文章头部信息
文章头部包含标题、作者、发布时间等元信息:
<article>
<header>
<h1>HTML5 语义化标签完全指南</h1>
<!-- 文章元信息 -->
<p class="meta">
<address>
作者:<a href="/author/zhangsan">张三</a>
</address>
|
<time datetime="2024-06-01">2024年6月1日</time>
|
阅读时间:约 8 分钟
|
标签:
<a href="/tag/html5">HTML5</a>、
<a href="/tag/semantic">语义化</a>
</p>
</header>
<!-- 文章正文 -->
...
</article>
三、文章正文组织
使用 <section> 将文章划分为不同章节,每个章节有自己的标题:
<article>
...
<!-- 章节1 -->
<section id="section1">
<h2>一、为什么要用语义化标签</h2>
<p>在 HTML5 出现之前...(正文内容)</p>
<blockquote>
<p>语义化 HTML 不仅是为了让开发者看得舒服,更是为了让机器能读懂你的内容。</p>
<footer>— <cite>Tim Berners-Lee</cite>,万维网之父</footer>
</blockquote>
</section>
<!-- 章节2 -->
<section id="section2">
<h2>二、常用语义化标签详解</h2>
<h3>2.1 header 和 footer</h3>
<p>...</p>
<h3>2.2 article 和 section</h3>
<p>...</p>
<!-- 代码示例 -->
<figure>
<pre><code>
<article>
<h2>文章标题</h2>
<p>文章内容...</p>
</article>
</code></pre>
<figcaption>图1:article 标签的基本用法</figcaption>
</figure>
</section>
<!-- 更多章节... -->
</article>
四、侧边栏内容
侧边栏使用 <aside>,包含与文章相关但不属于文章主体内容的信息:
<aside>
<!-- 作者简介 -->
<section class="author-card">
<h3>关于作者</h3>
<figure>
<img src="author.jpg" alt="作者头像" width="80" height="80">
</figure>
<p>张三,前端开发工程师,热爱分享技术干货。</p>
<a href="/author/zhangsan">查看全部文章 →</a>
</section>
<!-- 文章目录 -->
<section class="toc">
<h3>文章目录</h3>
<ol>
<li><a href="#section1">为什么要用语义化标签</a></li>
<li><a href="#section2">常用语义化标签详解</a></li>
<li><a href="#section3">语义化与 SEO</a></li>
</ol>
</section>
<!-- 文章分类 -->
<section>
<h3>文章分类</h3>
<ul>
<li><a href="/category/html">HTML (15)</a></li>
<li><a href="/category/css">CSS (12)</a></li>
<li><a href="/category/javascript">JavaScript (20)</a></li>
</ul>
</section>
<!-- 热门文章 -->
<section>
<h3>热门文章</h3>
<ol>
<li><a href="#">CSS Grid 布局完全指南</a></li>
<li><a href="#">JavaScript 异步编程详解</a></li>
<li><a href="#">React Hooks 最佳实践</a></li>
</ol>
</section>
<!-- 标签云 -->
<section>
<h3>标签云</h3>
<p>
<a href="#">HTML5</a>
<a href="#">CSS3</a>
<a href="#">JavaScript</a>
<a href="#">响应式</a>
</p>
</section>
</aside>
五、完整的文档大纲
构建博客页面时,始终关注文档大纲(Heading Outline):
页面大纲(理想状态)
├── h1: HTML5 语义化标签完全指南(文章标题)
│ ├── h2: 一、为什么要用语义化标签
│ ├── h2: 二、常用语义化标签详解
│ │ ├── h3: 2.1 header 和 footer
│ │ ├── h3: 2.2 article 和 section
│ │ └── h3: 2.3 nav 和 aside
│ ├── h2: 三、语义化与 SEO
│ └── h2: 四、动手实践
⚠️ 大纲检查清单:
- 页面只有一个 h1
- 标题层级不要跳(h1 → h2 → h3,不要 h1 直接到 h3)
003e - aside 和 footer 中的标题应该从 h2 或 h3 开始
动手练习
练习 1:修改文章内容
将配套代码中的文章替换为你感兴趣的主题:
- 替换文章标题和内容
- 修改章节结构和标题
- 添加你自己的代码示例和截图
练习 2:添加评论区域
在文章底部添加评论区:
- 用
<section>创建评论区 - 每条评论用
<article>包裹 - 包含评论者名称、时间、评论内容
- 添加评论表单(姓名、邮箱、评论内容、提交按钮)
练习 3:优化可访问性
- 检查所有图片是否有 alt 属性
- 检查链接文本是否描述清楚(不要"点击这里")
- 为代码块添加语言标注
常见误区 ⚠️
| 误区 | 真相 |
|---|---|
| “aside 只能放侧边栏” | 也可以放文章内的补充信息(如提示框、引文) |
| “article 只能放博客文章” | 任何独立的内容块都可以用(论坛帖子、产品卡片) |
| “section 可以随便用” | section 应该有标题,不能当 div 用 |
| “header 只能用在页面顶部” | 可以用在 article、section 内,表示该区域的头部 |
| “footer 只能放页脚” | 可以用在 article、section 内 |
| “time 只显示给人看” | datetime 属性让机器也能理解时间 |
| “blockquote 只能包一句话” | 可以包多段,甚至包含列表 |
| “pre 和 code 是一回事” | pre 保持格式,code 表示代码,两者经常一起用 |
速查卡片 📋
博客页面标签速查
| 区域 | 标签 | 说明 |
|---|---|---|
| 网站头部 | <header> |
页面级 header |
| 导航 | <nav> |
主导航链接 |
| 页面主体 | <main> |
页面主要内容(每页一个) |
| 文章 | <article> |
独立的内容块 |
| 章节 | <section> |
有标题的内容分组 |
| 侧边栏 | <aside> |
次要/相关内容 |
| 页脚 | <footer> |
页面级 footer |
| 时间 | <time datetime=""> |
机器可读的时间 |
| 引用 | <blockquote> |
块级引用 |
| 代码 | <code> + <pre> |
代码片段 |
| 图片说明 | <figure> + <figcaption> |
图片及其说明 |
| 作者 | <address> |
联系信息 |
文档大纲检查
✅ 页面只有一个 h1
✅ 标题层级连续(不跳级)
✅ aside/footer 内标题从 h2/h3 开始
✅ 每个 section 都有标题
扩展阅读
📌 下一步:第30篇:实战:完整单页网站,综合运用所有标签知识,搭建一个完整的企业介绍单页网站。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)