ol的type属性仅支持"1""a""A""i""I"五种值,分别对应阿拉伯数字、小写/大写字母、小写/大写罗马数字;配合start可指定起始序号,但现代开发更推荐用CSS的list-style-type实现样式控制。

有序列表(<ol>)的 type 属性用于指定编号样式,它直接控制列表项前的标记类型,比如数字、字母或罗马数字。这个属性作用于整个 <ol> 元素,不能单独设置某个 <li> 的编号类型。
支持的 type 值及效果
HTML 标准中定义了以下常用值(注意:部分值在 HTML5 中已过时,但浏览器仍广泛支持):
- 1:阿拉伯数字(默认,如 1, 2, 3…)
- a:小写英文字母(a, b, c…)
- A:大写英文字母(A, B, C…)
- i:小写罗马数字(i, ii, iii…)
- I:大写罗马数字(I, II, III…)
基本用法示例
直接在 <ol> 标签中添加 type 属性即可:
<ol type="A"> <li>第一章</li> <li>第二章</li> <li>第三章</li> </ol>
渲染结果为:A. 第一章,B. 第二章,C. 第三章。
立即学习“前端免费学习笔记(深入)”;
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
start 属性配合使用
type 控制样式,start 控制起始编号(或字母序号),两者可共存:
-
<ol type="i" start="3">→ iii, iv, v… -
<ol type="a" start="4">→ d, e, f…(从第4个小写字母开始)
注意:start 对字母和罗马数字按顺序计数,不是按字符本身(例如 start="27" 在 type="a" 下会从 a 开始循环,实际对应第27个字母——即 "a" 是1,"z" 是26,所以 27 是 "a" 再次循环)。
现代推荐:优先用 CSS counter
type 属性简单直接,但灵活性低,且 HTML5 中已将其列为“不鼓励使用”(obsolete in some contexts)。更推荐用 CSS 的 list-style-type 和 counter-reset/counter-increment 实现相同效果,便于样式统一和响应式控制:
ol.custom-lower-alpha {
list-style-type: lower-alpha;
}
ol.custom-roman {
list-style-type: upper-roman;
}
这样既语义清晰,又利于维护和主题切换。


















