正确使用 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><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> <p>第二段…</p> </dd>(p是块级元素,在dd内虽不报错,但部分读屏器可能跳过或误读)
多个术语共用一个解释?连续写 dt,再跟一个 dd
像“DOM”和“文档对象模型”其实是同一概念的中英文表述,这时可以并列两个 dt,后面紧跟一个 dd。这种写法叫“共享定义”,是 HTML5 明确支持的模式,语义清晰且节省重复内容。
- ✅ 合法结构:
<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、无障碍就全跟着稳了。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










