博客列表页基础html结构为:每篇用包裹,内含标题链接、发布时间、或分类标签、摘要;标签语义与跳转需求匹配,支持seo和可访问性。

博客列表页需要哪些基础 HTML 结构?
一个带分类标签的博客列表页,核心是「文章条目」+「分类标识」+「可点击跳转」。不需要框架也能实现,关键是语义清晰、便于后续加样式或 JS 交互。
- 每篇博客用
@#@#@#@#@#@#@#@#@#@0,否则无法导航 - 避免用
<div class="tag">:语义错误,<code><div> 是无意义容器,屏幕阅读器不会识别它和内容的关系 <li>不要用 <code>onclick="location.href=..."模拟链接:破坏可访问性,禁用 JS 时失效,也不支持右键新标签打开 - 给标签容器(比如
<header></header>或包裹标签的<div>)加 <code>display: flex,再设flex-wrap: wrap(允许折行)或flex-wrap: nowrap(强制单行,配合overflow-x: auto横向滚动) - 每个
<span class="tag"></span>加margin-right: 0.5rem,末尾标签用:last-child { margin-right: 0 }避免多余空白 - 移动端慎用
white-space: nowrap:它会让长标签撑破容器,不如用flex+min-width: max-content更可控 - 真实项目中,标签文字过长(如 “machine-learning-for-beginners”)建议截断:
text-overflow: ellipsis; overflow: hidden; white-space: nowrap; max-width: 120px; - 先给每篇文章加
data-category属性,比如@#@#@#@#@#@#@#@#@#@1 - 写一段极简 JS(
,检查 dataset.category是否包含目标关键词,然后切hidden属性 - 不写 JS 的底线方案:用
<details><summary></summary></details>折叠不同分类区块,但体验割裂,适合内容少、分类明确的场景
怎么让多个标签横向排列且不换行?
默认 <span></span> 是行内元素,但多个并排容易因父容器窄而折行。常见问题:标签挤在一行末尾突然断开、间距不均、移动端溢出。
静态 index.html 怎么实现分类筛选功能?
纯 HTML 无法动态过滤,但可以低成本模拟:用锚点 + CSS :target 配合少量 JS 就能实现“点标签只显示对应文章”。
标签的语义、可访问性和后续扩展性,比“看起来像不像博客”重要得多。很多人卡在“怎么让标签圆角+背景色”,却忘了先确认它是不是真能被键盘聚焦、被屏幕阅读器读出来——这点在上线前用 Tab 键快速测一遍就能发现。
<article><h2><a href="post1.html">如何调试 Webpack 构建慢的问题</a></h2> <time datetime="2024-03-15">Mar 15, 2024</time><span class="tag">webpack</span> <span class="tag">performance</span> <p>本文记录一次真实构建耗时从 9s 降到 1.8s 的过程……</p> </article>











