【发布时间】:2019-01-30 10:18:20
【问题描述】:
如何重置嵌套有序列表的编号。
运行这个 sn-p,给我这样的输出:
- 列表 1
- 列表 2
-
清单 3
- 列表 1
- 列表 2
-
清单 3
- 列表 1
- 列表 2
-
清单 3
3.1. List 1 3.2. List 2 3.3. List 3 3.3.1. List 1 3.3.2. List 2 3.3.3. List 3 3.3.3.1. List 1 3.3.3.2. List 2 3.3.3.3. List 3
我希望 3.1 以 1 开头。我该怎么做? 我需要使用多个计数器吗?还是一个人就行? 我并没有真正习惯于使用 CSS 计数器。 如果它是一系列嵌套的有序列表,则该代码有效,但是当其中有一个无序列表时,它开始失败。它仍然继续上一个有序列表的编号。
ol {
counter-reset: item 0;
list-style: none;
}
ul {
counter-reset: item "";
}
ul:first-child>li {
counter-reset: item "";
}
ul>li:before {
content: " ";
margin-right: 1em;
}
ol ul li:last-child {
counter-reset: item "";
}
ol>li:before {
counter-increment: item;
content: counters(item, ".")". ";
}
<ul class="ul">
<li class="li">List 1</li>
<li class="li">List 2</li>
<li class="li">List 3
<ol class="ol">
<li class="li">List 1</li>
<li class="li">List 2</li>
<li class="li">List 3<ul class="ul">
<li class="li">List 1</li>
<li class="li">List 2</li>
<li class="li">List 3
<ol class="ol">
<li class="li">List 1</li>
<li class="li">List 2</li>
<li class="li">List 3
<ol class="ol">
<li class="li">List 1</li>
<li class="li">List 2</li>
<li class="li">List 3
<ol class="ol">
<li class="li">List 1</li>
<li class="li">List 2</li>
<li class="li">List 3</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ul>
</li>
</ol>
</li>
</ul>
编辑:即使有多个重置计数器,我仍然无法做到这一点。这有希望吗?
【问题讨论】:
-
@AndrewL64,谢谢,但我也希望嵌套的有序列表遵循之前的编号。因此,如果父级是有序列表,则编号将被继承,并且只有在它是有序列表时才会重置。
-
哦,好的。让我试着摆弄小提琴。
-
谢谢,我已经挣扎了很长时间了。如果我可以删除嵌套有序列表的
3。 -
那么你有 3.1 你想有 1.3.1 还是只有 1?
-
@GrávujMiklósHenrich,如果父级不是有序列表,我想从 1 重新开始编号。