html中标签设置小写罗马数字序号应使用type="i",而非css值lower-roman;需配合start="4"才能从iv开始,且大小写敏感、不支持ii或roman等无效值。

直接用 type="i" 就行,别写 type="lower-roman"
HTML 的 <ol></ol> 标签原生只认 "i" 这个值表示小写罗马数字,"lower-roman" 是 CSS 值,不是 HTML type 属性的有效取值。写错会被浏览器静默忽略,退回到默认阿拉伯数字。
正确写法就是:
<ol type="i"> <li>第一项</li> <li>第二项</li> <li>第三项</li> </ol>渲染结果是
i.、ii.、iii.。
注意:type="i" 和 type="I" 大小写敏感,"I" 是大写,"i" 才是小写;"ii" 或 "roman" 都无效。
start 必须配 type="i" 才能从指定罗马数字开始
只设 type="i",编号永远从 i(即 1)开始。想从第 4 项起标为 iv,必须显式加 start="4":
<ol type="i" start="4"> <li>这是第四项</li> <li>这是第五项</li> </ol>会显示为
iv.、v.。
-
start的值始终是阿拉伯数字,哪怕type是字母或罗马数字 - 嵌套的
<ol></ol>会继承父级的start计算逻辑,除非子<ol></ol>显式重置 - 漏掉
start是常见疏忽,比如章节列表想从 “v” 开始,不加start="5"就会从 “i” 开始
CSS 的 list-style-type: lower-roman 更灵活,但和 type 属性不能混用
如果需要更多控制(比如兼容老 IE8+、或配合 JS 动态切换),推荐用 CSS:
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
<ol class="roman-lower"> <li>第一项</li> </ol>
.roman-lower { list-style-type: lower-roman; }
好处是:lower-roman 在所有现代浏览器中行为比 type="i" 更一致,且支持更多值(如 armenian);但它不影响 DOM 的 ol.type 属性读取——JS 里 olElement.type 拿到的还是原始值(比如 "1"),不是视觉上看到的类型。
关键提醒:
- 不要同时在 HTML 上写
type="i"又在 CSS 里写list-style-type: lower-roman——Chrome 以 HTML 属性为准,Safari 可能以 CSS 为准,行为不可预测 - 超大数(>3999)时,
type="i"在旧版 Safari 或 IE 可能回退为阿拉伯数字,而lower-roman在 Firefox 对 >9999 处理更保守
JS 动态改序号类型,只能赋值 "i" 或 "I"
通过 JS 切换时,olElement.type = "i" 是唯一有效写法;传 "lower-roman" 或 "ii" 都会被静默忽略,属性值不变。
- 读取时
olElement.type返回字符串"i",不是 CSS 值 - 大小写必须严格:
ol.type = "I"有效,ol.type = "i"有效,ol.type = "lower-roman"无效 - 想用 JS 控制起始值,得同时操作
ol.start = 4,不能只改type
真正容易被忽略的是:序号生成完全由浏览器自动计算,HTML type 和 start 只提供起点与规则,不参与每项的映射逻辑——比如你无法让第 4 项显示为 v 而跳过 iv,也没法自定义 “7 → vii” 以外的写法。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










