包装div的反增量

tra*_*ism 2 html css css-counter

我想在有序列表上使用反增量.我希望每个ol人继续前一次计数.

当我在ols 周围没有单独的包装div时,它可以正常工作.请注意,它适用ol于同一个包装div中的第二个,但是对于ol具有单独包装div 的下两个s,它会停止工作:

http://jsfiddle.net/graphic_dev/Lsn49t16/1/

HTML

<div class="wrapper">
    <ol class="split start">
      <li>Lorem</li>
      <li>Ipsum</li>
      <li>Dolor</li>
    </ol>

    <ol class="split">
      <li>Sit</li>
      <li>Amet</li>
    </ol>
</div>

<div class="wrapper">
    <!-- It stops working here -->
    <ol class="split">
      <li>Consectetur</li>
      <li>Adipiscing </li>
    </ol>

    <ol class="split">
      <li>Elit</li>
      <li>Sed</li>
    </ol>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.start {
    counter-reset: mycounter;
}

.split {
    list-style-type: none;
}

.split li:before {
    counter-increment: mycounter;
    content: counter(mycounter, upper-alpha);
}
Run Code Online (Sandbox Code Playgroud)

如何让它继续计算ol?我需要包装div

Ari*_*iao 5

来自Spec

计数器的范围从文档中的第一个元素开始,该元素具有该计数器的"反复位",并包含元素的后代及其后代的兄弟.

因此,您需要调用counter-reset列表的包装元素,或者第一个<div class="wrapper">.

这是一个初始化mycounteron 的更新body作为示例.

而且从规范

如果元素或伪元素上的'counter-increment'或'content'指的是不在任何'counter-reset'范围内的计数器,则实现应该表现为'counter-reset'重置计数器在该元素或伪元素上为0.

所以第二个列表项div实际上为每个项初始化了一个计数器.