CSS 计数器

三个属性

/* 1. 在父元素上初始化计数器 */ .container { counter-reset: my-counter; /* 从 0 开始 */ counter-reset: my-counter 10; /* 从 10 开始 */ } /* 2. 在每个子元素上递增 */ .container li { counter-increment: my-counter; /* 加 1 */ counter-increment: my-counter 2; /* 加 2 */ } /* 3. 显示计数器值 */ .container li::before { content: counter(my-counter); /* 1, 2, 3 */ content: counter(my-counter, upper-roman); /* I, II, III */ content: counters(my-counter, "."); /* 1.1, 1.2(嵌套) */ }

计数器样式

counter(name) /* 1, 2, 3 */ counter(name, decimal) /* 1, 2, 3 */ counter(name, decimal-leading-zero) /* 01, 02, 03 */ counter(name, upper-roman) /* I, II, III */ counter(name, lower-roman) /* i, ii, iii */ counter(name, upper-alpha) /* A, B, C */ counter(name, lower-alpha) /* a, b, c */ counter(name, lower-greek) /* α, β, γ */

实时演示 — 编号列表

  • 第一个列表项
  • 第二个列表项
  • 第三个列表项
  • 第四个列表项

嵌套计数器示例

  1. 第一章
    1. 第 1.1 节
    2. 第 1.2 节
  2. 第二章
    1. 第 2.1 节
    2. 第 2.2 节
    3. 第 2.3 节
ol { counter-reset: section; list-style: none; } li { counter-increment: section; } li::before { content: counters(section, ".") " "; }