使用CSS计数器实现多级编号
示例
的CSS
ul {
list-style: none;
counter-reset: list-item-number; /* self nesting counter as name is same for all levels */
}
li {
counter-increment: list-item-number;
}
li:before {
content: counters(list-item-number, ".") " "; /* usage of counters() function means value of counters at all higher levels are combined before printing */
}的HTML
<ul>
<li>Level 1
<ul>
<li>Level 1.1
<ul>
<li>Level 1.1.1</li>
</ul>
</li>
</ul>
</li>
<li>Level 2
<ul>
<li>Level 2.1
<ul>
<li>Level 2.1.1</li>
<li>Level 2.1.2</li>
</ul>
</li>
</ul>
</li>
<li>Level 3</li>
</ul>上面是使用CSS计数器进行多级编号的示例。它利用了计数器的自我嵌套概念。自嵌套是一种概念,其中,如果元素已经具有使用给定名称的计数器,但是必须创建另一个,则它将其创建为现有计数器的子代。在这里,第二级ul已经list-item-number从其父级继承了计数器,但是随后必须创建自己的list-item-number(针对其子级li),因此创建list-item-number[1](第二级计数器)并将其嵌套在list-item-number[0](第一级计数器)之下。因此,它实现了多级编号。
使用counters()函数而不是函数来打印输出,counter()因为该counters()函数旨在在打印输出时为所有更高级别计数器(父级)的值加上前缀。
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法