html - 为嵌套列表插入 CSS 父节计数器
问题描述
我有2级ul
。我正在使用counter-reset
,counter-increment
和content
插入一个运行计数器。它的工作原理是li
s 中的内容编号正确。
我a
在第一级有链接li
,在它嵌套之后ul
我想说“添加到规则[父李数]”。
下面是我正在做的最小工作示例。在a
链接中,它使用第二级ul
/的计数器li
。
它输出什么:
规则1
- 规则 1.1
... - 规则 1.2
... - 规则 1.3
...
添加到规则 1.3
- 规则 1.1
规则 2
- 规则 2.1
... - 规则 2.2
... - 规则 2.3
...
添加到规则 2.3
- 规则 2.1
规则 3
- 规则 3.1
... - 规则 3.2
... - 规则 3.3
...
添加到规则 3.3
- 规则 3.1
我正在努力实现的目标:
规则1
- 规则 1.1
... - 规则 1.2
... - 规则 1.3
...
添加到规则 1
- 规则 1.1
规则 2
- 规则 2.1
... - 规则 2.2
... - 规则 2.3
...
添加到规则 2
- 规则 2.1
规则 3
- 规则 3.1
... - 规则 3.2
... - 规则 3.3
...
添加到规则 3
- 规则 3.1
我无法弄清楚我需要做什么才能获得预期/想要的输出。
ul
{
counter-reset: section;
}
li
{
counter-increment: section;
}
.ruleNumber::after
{
content: counters(section, ".");
}
a::after
{
content: counters(section, ".");
}
<ul>
<li>
<span class="ruleNumber">Rule </span>
<ul>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
</ul>
<a href="#" onclick="">Add To Rule </a>
</li>
<li>
<span class="ruleNumber">Rule </span>
<ul>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
</ul>
<a href="#" onclick="">Add To Rule </a>
</li>
<li>
<span class="ruleNumber">Rule </span>
<ul>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
</ul>
<a href="#" onclick="">Add To Rule </a>
</li>
</ul>
解决方案
您可以使用两个单独的计数器——一个用于部分,一个用于项目:
ul {
counter-reset: section;
}
ul ul {
counter-reset: item;
counter-increment: section;
}
li {
counter-increment: item;
}
.ruleNumber::after {
content: counters(item, ".");
}
a::after {
content: counters(section, ".");
}
<ul>
<li>
<span class="ruleNumber">Rule </span>
<ul>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
</ul>
<a href="#" onclick="">Add To Rule </a>
</li>
<li>
<span class="ruleNumber">Rule </span>
<ul>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
</ul>
<a href="#" onclick="">Add To Rule </a>
</li>
<li>
<span class="ruleNumber">Rule </span>
<ul>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
<li>
<span class="ruleNumber">Rule </span>
<div class="rule">...</div>
</li>
</ul>
<a href="#" onclick="">Add To Rule </a>
</li>
</ul>
推荐阅读
- visual-studio - 如何正确构建程序集以在交互式窗口中使用?.NET 5.0 6.0
- lua - 仅在 Awesome WM 中调整终端窗口大小
- excel - 在多行和多列上运行 excel 函数并获得 AGGREGATE 而无需额外的列
- javascript - 在使用本机模块时更改输入
- google-apps-script - 如何使用带有谷歌脚本的 webhook 将文本格式化为粗体发送到谷歌聊天室
- google-chrome - 使用 Chrome DevTools 编写测试脚本
- android - 如何在android中等待线程完成?
- haproxy - HAProxy Ingress Controller 关于在后端混合支持 HTTP2 和 HTTP 1.1,在前端使用 TLS
- mongodb - Mongod 命令在 Fedora33 操作系统上显示错误
- discord.js - 如何在 discord.js 中获取消息中某个表情符号反应的计数