如何在CSS中重置有序列表编号

问题描述 投票:5回答:1

如何重置嵌套有序列表的编号。

运行此代码段,给我一个这样的输出:

  • 清单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>

编辑:即使有多个重置计数器,我仍然无法做到这一点。这有什么希望吗?

html css listitem
1个回答
1
投票

你可以查看我的案例:

enter image description here

我们只需要重置第一个孩子

.tos ol > li {
    counter-increment: listNumbering;
    list-style: none;
}
.tos ol > li:before {
    content: counter(listNumbering) '. ';
}
.tos ol > li:first-child {
    counter-reset: listNumbering;
}
© www.soinside.com 2019 - 2024. All rights reserved.