html的标签通过type属性可直接设置编号样式,合法值为1、a、a、i、i,分别对应阿拉伯数字、小写/大写字母、小写/大写罗马数字;需配合start属性(取整数值)指定起始序号,如type="a" start="3"显示c、d、e;现代开发更推荐用css list-style-type实现样式与结构分离。

用 type 属性控制有序列表的编号样式
HTML 的 <ol></ol> 默认用阿拉伯数字(1, 2, 3),但想改成字母(a, b, c)或罗马数字,关键就看 type 属性。它直接决定序号类型,不是靠 CSS 伪元素模拟——后者不语义化,还影响屏幕阅读器。
合法值包括:a(小写字母)、A(大写字母)、i(小写罗马)、I(大写罗马)、1(默认数字)。注意:这些值是大小写敏感的,type="a" 和 type="A" 效果不同。
<ol type="a"> <li>第一项</li> <li>第二项</li> </ol>
start 配合 type 调整起始字母
如果列表不是从 a 或 A 开始(比如想从 c 或 D 开始),单靠 type 不够,得加 start 属性。它的值是数字,对应字母表中的位置:a=1、b=2……z=26;A=1、B=2……Z=26。
-
<ol type="a" start="3"></ol>→ 生成 c, d, e… -
<ol type="A" start="4"></ol>→ 生成 D, E, F… -
start必须是整数,不能写start="c",否则会被忽略
现代项目中更推荐用 CSS 的 list-style-type
虽然 type 属性简单直接,但它在 HTML 层混入了表现逻辑,且对嵌套列表支持弱(比如内层 <ol></ol> 无法独立指定类型)。CSS 方案更灵活:
ol.alpha { list-style-type: lower-alpha; }
ol.upper-alpha { list-style-type: upper-alpha; }
这样 HTML 保持干净:<ol class="alpha"></ol>,样式和结构分离。注意兼容性:所有现代浏览器都支持 lower-alpha 等值,IE8+ 也支持,基本无风险。
容易被忽略的边界情况
字母序号只到 z/Z(26 个),超出后行为未定义:部分浏览器回绕成 a/A,部分继续显示数字(如 27),不可依赖。真有超过 26 项的需求,说明语义上可能不该用字母序号——考虑分组、嵌套或换用描述性标题。
另外,type 和 list-style-type 都不改变 DOM 中 <li> 的实际顺序或可访问性顺序,仅影响视觉呈现。如果用 JS 动态插入 <li>,记得同步更新 start 值或重置 CSS 计数器,否则序号会错乱。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











