HTML 教程 / 使用 ul、ol 和 dl 创建与嵌套列表
当元素顺序重要时选择 ol,当顺序无关紧要时选择 ul,对于与描述或值相关联的名称选择 dl。这些元素描述元素之间的关系;它们的默认编号和项目符号仅用于显示。
何时应使用 ol、ul 或 dl?
| 元素 | 何时使用 | 示例 |
|---|---|---|
ol |
更改顺序会改变含义。 | 操作步骤、排名 |
ul |
顺序不重要。 | 材料,功能 |
dl |
名称与值或描述相关联。 | 术语表,元数据 |
ol 和 ul 中的元素使用 li。在一个 dl 中,dt 提供名称,dd 提供其描述或值。
在同一个文件中尝试三种列表类型
将此代码保存为 HTML 文件,并在浏览器中打开它,以比较列表的默认显示。CSS 会优先使用已安装的 Noto Sans KR 字体;未安装时,浏览器会选择无衬线备用字体。
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>HTML 列表</title>
<style>
body { font-family: "Noto Sans KR", sans-serif; }
</style>
</head>
<body>
<h1>准备一次旅行</h1>
<h2>装备</h2>
<ul>
<li>水</li>
<li>地图</li>
</ul>
<h2>步骤</h2>
<ol>
<li>选择旅行日期</li>
<li>整理行李</li>
</ol>
<h2>术语</h2>
<dl>
<dt>出发</dt>
<dd>旅行开始的日子</dd>
<dt>到达</dt>
<dd>到达目的地的日子</dd>
</dl>
</body>
</html>
CSS 可以更改缩进和标记样式。重要的区别在于顺序或名称-描述关系,这是通过 HTML 表达的。
更改有序列表的编号
一个 ol 默认从 1 开始。它的属性 start 会改变第一个数字;在特定 li 上使用 value 会改变该元素的编号。
<ol start="5">
<li>第五步</li>
<li value="9">第九步</li>
<li>第十步</li>
</ol>
标记是 5、9 和 10。如果编号需要倒序,请使用 reversed。
<ol reversed>
<li>第三个元素</li>
<li>第二个元素</li>
<li>第一个元素</li>
</ol>
这个列表有三个列表项;未指定起始值时,逆序编号依次为 3、2、1。请检查编号是否符合预期顺序。
编号属性不会将无序集合转化为有意义的序列。请首先根据意义选择列表类型。
使用 dl 关联名称与描述
一个 dl 不仅限于词典定义。它可以将产品属性及其值或日期及其描述关联起来。请让每个名称 dt 与对应描述 dd 的关联保持清晰。
<dl>
<dt>营业时间</dt>
<dd>工作日,上午9点到下午6点</dd>
<dt>关闭</dt>
<dd>星期六和星期日</dd>
</dl>
这些是虚构的营业时间,仅用于展示标记。
在列表项内嵌套列表
子列表应包含在其所属的 li 父元素内。这里服装是旅行装备的一部分。请参见 HTML 语法 ,了解从内到外关闭嵌套元素的规则。
<ul>
<li>水</li>
<li>衣物
<ul>
<li>夹克</li>
<li>袜子</li>
</ul>
</li>
</ul>
您也可以在一个ol中嵌套一个ul。在这个示例中,主要步骤的先后顺序有意义,但两项行李物品不必按固定顺序排列。
<ol>
<li>选择旅行日期</li>
<li>整理行李
<ul>
<li>衣物</li>
<li>洗漱用品</li>
</ul>
</li>
<li>去旅行</li>
</ol>
不要将子列表直接放在外部ul或ol下;将它们放在相应的li中。此外,避免将整个列表放在p中。列表和段落是独立的结构。
创建列表的检查清单
- 在选择
ol或ul之前,请决定元素的顺序是否会改变其意义。 - 对有序或无序列表中的每个元素使用
li。 - 在描述列表中阐明
dt–dd的关系。 - 在其父元素
li内插入子列表,并使用 CSS 来设置标记的样式。
有关更多示例,请参阅 MDN HTML 列表指南。要在实际页面集合中使用列表,请从 创建一个小型多页面网站 的文件结构开始。





