正确使用 dl、dt、dd 构建术语表需确保 dt 和 dd 均为 dl 的直接子元素,禁止嵌套或插入其他容器;支持一词多义(多个 dd)、一义多词(多个 dt 共享一个 dd);须用 CSS 调整缩进与样式以保障可读性和无障碍访问。

用 dl、dt、dd 构建术语表,关键不在“写对标签”,而在理清语义关系和规避常见渲染陷阱。浏览器默认样式极简,结构一错,视觉就塌;语义一乱,读屏器和搜索引擎就难识别。
确保 dt 和 dd 是 dl 的直接子元素
所有 dt 和 dd 必须紧挨着放在 dl 里面,中间不能插 div、p 或其他包裹容器。哪怕只是想加个空行或分隔线,也该用 CSS 实现,而不是塞一个空 div 进去。
- ✅ 正确:
<dl><dt>API</dt><dd>应用程序编程接口…</dd></dl> - ❌ 错误:
<dl><div><dt>API</dt></div><dd>…</dd></dl>(破坏语义层级) - ⚠️ 隐患:某些 CSS 重置(如 Normalize.css)会把
dd的margin-left设为 0,导致术语和解释挤成一行——这不是 HTML 失效,是样式覆盖了默认缩进。
一个术语多个解释?用多个 dd,别塞进一个 dd 里
如果某个术语有几种含义、适用场景或补充说明,直接并列写多个 dd,每个 dd 对应一段独立解释。这样既符合 HTML5 规范,也能被屏幕阅读器逐条朗读,无障碍支持更好。
- ✅ 推荐:
<dt>DOM</dt><dd>文档对象模型,树状 JavaScript 对象结构。</dd><dd>浏览器解析 HTML 后生成,供 JS 操作页面。</dd> - ❌ 不推荐:
<dd><p>第一段…</p><p>第二段…</p></dd>(p是块级元素,在dd内虽不报错,但部分读屏器可能跳过或误读)
多个术语共用一个解释?连续写 dt,再跟一个 dd
像“DOM”和“文档对象模型”其实是同一概念的中英文表述,这时可以并列两个 dt,后面紧跟一个 dd。这种写法叫“共享定义”,是 HTML5 明确支持的模式,语义清晰且节省重复内容。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
立即学习“前端免费学习笔记(深入)”;
- ✅ 合法结构:
<dt>DOM</dt><dt>文档对象模型</dt><dd>浏览器将 HTML 解析成的树状对象结构…</dd> - 注意:
dt和dd是平级兄弟关系,不是嵌套关系。不能把dd放进dt,也不能反过来。
基础样式微调让列表真正可用
默认缩进靠不住,尤其引入现代 CSS 框架后。建议至少加几行轻量 CSS 来保障可读性:
- 给
dd显式设置margin-left: 1.5em或padding-left: 1.5em,避免被重置清零 - 为
dt加font-weight: bold或border-bottom: 1px solid #eee,增强术语识别度 - 整个
dl可加line-height: 1.6和适当padding,提升段落呼吸感
结构严密不等于堆砌复杂,而是让每个标签各司其职:dl 是容器,dt 是问题/名词,dd 是答案/解释。写对一次,语义、SEO、无障碍就全跟着稳了。


















