定义列表必须用包裹,仅含和,禁止混入其他元素;需闭合标签且可对应多个,但不可悬空;语义正确对SEO和可访问性至关重要。

定义列表用
而不是
或
定义列表必须用 常见错误是把 默认情况下, 例如: 这样写语义清晰,也方便后续用 浏览器对 更稳妥的做法是显式重置: 比如 “DOM” 和 “Document Object Model” 是同一概念的不同表达,不能写两个 如果术语差异大(如缩写 vs 全称 vs 别名),且需分别 SEO 或锚点跳转,可重复整个
定义列表真正难的不是写法,而是判断哪些内容该用它——术语和解释必须是一对一或一对多的严格归属,一旦出现“解释里又带新术语”,就得拆成嵌套 包裹,里面只能直接放 (术语)和 (定义),不能混入 、 和 写成兄弟关系却漏掉配对,比如只写一个 没跟 ,或者连续两个 中间没定义。浏览器虽会渲染,但结构断裂,SEO 和可访问性都受损。
必须有闭合标签:,不能写成自闭合形式
可对应多个 (如多义词解释),但一个 不能悬空在 之外type 或 start 属性——它天生无序,也不需要编号
和 的嵌套与换行处理 会缩进,且上下有外边距; 不缩进、无默认 margin。如果想让多个定义并排显示(比如“英文名 / 中文名 / 类型”三栏),不能靠 换行,而应把每个字段包进独立的 ,并用 CSS 控制 display。
dl dd:nth-child(2) 单独样式控制“应用层协议”这一项。
里塞 或 来强调——它本就是标题语义,加样式即可 内允许嵌套段落、列表甚至小表格,但需确保逻辑归属明确:所有内容都必须是对前面最近一个 的解释用 CSS 重置
list-style 和缩进更可控 的默认缩进(尤其是 的 marginLeft)不统一,Chrome 和 Firefox 差 20px 左右。直接设 margin-left: 0 会丢失结构感,推荐用 padding-inline-start 替代。dl {
margin: 0;
}
dt {
font-weight: 600;
margin-top: 0.5em;
}
dd {
margin: 0 0 0.5em 0;
padding-inline-start: 1em;
}
list-style: none—— 本来就没有项目符号,设了无效text-indent 控制 缩进,它只影响首行,多行定义会错位padding-inline-start + 媒体查询,而非 hack 式负 margin多个术语共用同一定义时怎么写
后跟一个 ——HTML 规范不允许多个 直接连一个 (尽管部分浏览器容忍)。正确写法是合并术语,或用逗号分隔:
组,但内容一致:
连写——解析器会认为第二个 是新术语,前一个没定义 或另起一段,而不是硬塞进同一个 。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











