具有多个计数器的CSS列表不能正确计数

时间:2015-04-02 10:23:48

标签: list css-counter

我有一个<ul> - 列表,其中包含两个不同的计数器:

ul.numbered {
    counter-reset: alphaCounter, numberCounter;
}

ul.numbered li.numbered,
ul.numbered li.lettered {
    padding-left: 1.8em;
}

ul.numbered li.numbered:before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: numberCounter;
    content: counter(numberCounter, decimal) ". "; 
}

ul.numbered li.lettered:before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: alphaCounter;
    content: counter(alphaCounter, upper-alpha) ". "; 
}

此列表使用A.,B。等正确计算li.lettered - 项目。但li.numbered - 项始终以&#34; 1开始。&#34;。如果我将计数器重置的顺序切换为counter-reset: numberCounter, alphaCounter;,则数字正确计数,字母始终以&#34; A开头。&#34;。

根据我的阅读,我正确地设置了列表,但很好,显然不是。对此有何帮助?

1 个答案:

答案 0 :(得分:13)

好的,问题是counter-reset上两个计数器之间的逗号。在这种情况下重置多个计数器的正确解决方案是:

counter-reset: numberCounter alphaCounter;

W3C, 12.4 Automatic counters and numbering