源本科技 | 码上会

HTML 有序列表

2026/02/06
13
0

学习目标

  • 掌握 HTML 有序列表的基本语法与核心用途

  • 熟练使用 typestartreversed 属性控制编号样式与顺序

  • 能够创建嵌套有序列表以表达层级结构

  • 理解有序列表在实际开发中的典型应用场景(如教程、排行榜、步骤说明等)


什么是有序列表

HTML 有序列表通过 <ol> 标签定义,用于展示具有明确顺序的内容项。每个列表项使用 <li> 标签包裹。浏览器默认以阿拉伯数字(1, 2, 3…)自动编号,但可通过属性或 CSS 自定义编号样式。


基本语法

<ol>
  <li>第一项</li>
  <li>第二项</li>
  <li>第三项</li>
</ol>

示例:待办事项清单

<h2>我的待办事项</h2>
<ol>
  <li>去超市采购</li>
  <li>缴纳水电费</li>
  <li>准备晚餐</li>
</ol>

编号类型

通过 <ol> 标签的 type 属性,可指定不同的编号格式:

属性值

编号样式

示例

1

阿拉伯数字(默认)

1, 2, 3…

A

大写字母

A, B, C…

a

小写字母

a, b, c…

I

大写罗马数字

I, II, III…

i

小写罗马数字

i, ii, iii…

数字编号

<ol>
  <li>JavaScript</li>
  <li>Python</li>
  <li>Java</li>
</ol>

大写字母

<ol type="A">
  <li>苹果</li>
  <li>香蕉</li>
  <li>樱桃</li>
</ol>

小写字母

<ol type="a">
  <li>RCB</li>
  <li>CSK</li>
  <li>DC</li>
</ol>

大写罗马数字

<ol type="I">
  <li>第一项</li>
  <li>第二项</li>
  <li>第三项</li>
</ol>

小写罗马数字

<ol type="i">
  <li>第一项</li>
  <li>第二项</li>
  <li>第三项</li>
</ol>

控制起始编号

使用 start 属性可自定义列表的起始数字(仅适用于数字或字母类型)。

示例:从第 5 项开始

<h2>自定义起始编号</h2>
<ol start="5">
  <li>第 5 项</li>
  <li>第 6 项</li>
  <li>第 7 项</li>
</ol>

反向编号

添加 reversed 属性可使列表倒序编号(降序),常用于排行榜、倒计时等场景。

示例:电影排行榜(Top 5)

<h1>必看的五部电影</h1>
<ol reversed>
  <li>肖申克的救赎</li>
  <li>教父</li>
  <li>盗梦空间</li>
  <li>星际穿越</li>
  <li>低俗小说</li>
</ol>

嵌套有序列表

<li> 内部嵌套另一个 <ol>,可创建多级结构,适用于表达主次关系分类明细

示例:编程语言及其框架

<h2>主流编程语言与框架</h2>
<ol>
  <li>
    JavaScript
    <ol>
      <li>React</li>
      <li>Angular</li>
      <li>Vue.js</li>
    </ol>
  </li>
  <li>
    Python
    <ol>
      <li>Django</li>
      <li>Flask</li>
      <li>Pyramid</li>
    </ol>
  </li>
</ol>

重点总结

  • <ol> 表示有序列表,<li> 定义每一项

  • 默认编号为阿拉伯数字,可通过 type 切换为字母或罗马数字

  • 使用 start 指定起始编号,reversed 实现倒序显示

  • 嵌套列表通过在 <li> 中插入 <ol> 实现,适合表达层级结构

  • 虽然 HTML 提供了 typestart 等属性,但在现代 Web 开发中,更推荐使用 CSS 的 list-style-typecounter 功能实现高级定制,以保持语义与样式的分离


思考题

  1. 如果希望一个有序列表从字母 “C” 开始(即 C, D, E…),应如何编写 HTML?是否可行?为什么?

  2. 在什么情况下你会选择使用 reversed 属性?请举出两个实际应用场景。

  3. 嵌套有序列表最多可以嵌套多少层?从用户体验角度,你认为合理的最大嵌套深度是多少?