考卷大题编号必须使用语义化 标签并严格嵌套 ,禁用手写编号;汉字编号需用 css counter() 实现;小题“1.1”式编号须靠 css counter 绑定父子计数器;打印时需显式设置 list-style-position: inside 和 @media print 重置样式。

考卷大题编号必须用 <ol></ol>,不能手写“一、二、三”
手写编号(如“一、”“1.”)会让屏幕阅读器读不出顺序逻辑,JS 动态增删题时编号不会自动更新,打印或导出 PDF 也容易错位。原生 <ol></ol> 是唯一能保障语义、可访问性和动态一致性的方案。
常见错误是把大题标题直接塞进 <ol></ol> 里不套 <li>,比如:<ol>一、简答题</ol>——浏览器会忽略纯文本,整个编号消失,且校验工具报错。
-
<ol></ol>必须只包含<li>作为直接子元素;大题标题、题干、小题都得包在<li>里 - 若大题下带小题(如“1.1”“1.2”),子
<ol></ol>必须嵌套在父级<li>内部,不能放在 外面
- 避免用
type="1"—— 它是冗余的,默认就是数字,且部分旧环境可能误解析
大题用汉字编号(一、二、三)该用 list-style-type 而不是 type
type 属性不支持中文编号,强行写 type="一" 会被浏览器忽略。正确做法是用 CSS 的 list-style-type,值设为 simp-chinese-informal(Chrome/Firefox 支持)或退而求其次用 lower-greek + 自定义伪元素。
但注意:simp-chinese-informal 在 Safari 和部分旧版 Edge 中无效,生产环境建议用更稳的方式:
- 对大题列表加 class,例如
<ol class="major-questions"></ol> - CSS 中写:
.major-questions { list-style-type: none; },再用::before+counter()控制汉字序号 - 示例:
ol.major-questions { counter-reset: major; } ol.major-questions li::before { counter-increment: major; content: counter(major, cjk-ideographic) "、"; }
小题编号(1.1、1.2…)必须靠 CSS Counter,<ol></ol> 原生不支持多级递增
<ol><ol></ol></ol> 嵌套只能做到 A → 1 → a 这类样式切换,无法实现“1.1”“1.2”这种父子关联编号。浏览器把内外两层 <ol></ol> 当作独立计数器,子项永远从 1 开始。
要让小题继承大题编号,必须用 CSS Counter 手动绑定:
- 外层
<ol class="part"></ol>设counter-reset: part; - 每个大题
<li>用counter-increment: part;并生成 “1.”“2.” - 子
<ol class="subpart"></ol>不重置计数器,只设counter-increment: subpart; -
content: counter(part) "." counter(subpart)实现 “1.1” 格式 - 注意:若某大题无小题,其
<ol class="subpart"></ol>应设display: none,否则空计数器仍会干扰后续编号
试卷打印时编号被截断或错位,大概率是 list-style-position 或缩进没调好
默认 list-style-position: outside 会让编号挂在行框左侧,但若父容器有 padding-left 或用了 Flex/Grid 布局,编号容易被裁掉或挤到内容中间。
考卷类文档对排版精度要求高,建议统一显式控制:
- 给所有题干
<li>加list-style-position: inside,确保编号和文字左对齐,换行后文字顶格 - 手动设置
padding-left: 2em替代浏览器默认缩进,避免不同 UA 渲染差异 - 打印前用
@media print强制重置:@media print { ol { margin: 0; padding: 0; } ol li { list-style-position: inside; padding-left: 2em; } } - 禁用所有影响块级流的 CSS(如
float、position: absolute),它们会让编号脱离文档流,打印时位置飘移
<li>,必须确保它被 append 到已存在的 <ol></ol> 下,而不是拼字符串后 innerHTML 赋值——后者会清空计数器状态。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











