css - 在 CSS 中概述混合的字母和数字计数器
问题描述
我正在寻找最简单、优雅、可扩展和递归的 CSS 代码来获得这样的列表:
A1 Matilda
A2 Giorgio
B1 Luisa
B2 Giovanni
C1 Anna
C2 Francesco
D1 Giorgio
D2 Marco
E1 Luigi
E2 Giovanna
E3 Maria
D3 Ernesto
C3 Benedetta
B3 Annabella
A3 Stefano
通过递归,我的意思是我不想假设我有特定数量的嵌套级别,也不想创建许多不同的计数器来关联到类,因为这会使列表在发生变化时难以维护。
所以我写了下面的CSS代码
.tree { }
.tree ul {list-style: none; }
.tree ul li { }
.tree ul li:before { margin: 0 0.5rem 0 0; }
.tree { counter-reset: alpha; }
.tree ul { counter-increment: alpha; counter-reset: number; }
.tree ul li:before { counter-increment: number; content: counter(alpha,upper-alpha) counter(number); }
对于以下 HTML 代码
<div class="tree">
<ul>
<li>Matilda</li>
<li>Giorgio
<ul>
<li>Luisa</li>
<li>Giovanni
<ul>
<li>Anna</li>
<li>Francesco
<ul>
<li>Giorgio</li>
<li>Marco
<ul>
<li>Luigi</li>
<li>Giovanna</li>
<li>Maria</li>
</ul>
</li>
<li>Ernesto</li>
</ul>
</li>
<li>Benedetta</li>
</ul>
</li>
<li>Annabella</li>
</ul>
</li>
<li>Stefano</li>
</ul>
</div>
但我明白了
A1 Matilda
A2 Giorgio
B1 Luisa
B2 Giovanni
C1 Anna
C2 Francesco
D1 Giorgio
D2 Marco
E1 Luigi
E2 Giovanna
E3 Maria
E3 Ernesto
E3 Benedetta
E3 Annabella
E3 Stefano
知道如何在不假设特定嵌套级别(例如 5)的情况下获得我想要的东西。
先感谢您。
解决方案
推荐阅读
- python - 交互式绘图 Jupyter Lab 2.0
- android - JSON 格式的 Android Volley 数组
- reactjs - 成帧器运动 | 在最后一个动画加载后视点“useAnimation”触发
- c# - SqlException:INSERT 语句与使用 EF 代码优先 C# 的 FOREIGN KEY 约束冲突
- javascript - 为什么我无法填充帖子字段?
- javascript - 根据当前月份打开特定选项卡
- python - Python:递归获取二维数组的排列
- r - 包含空白的舍入数据
- javascript - Javascript TypeError:遍历行时“range.getRange 不是函数”
- apache-kafka - Kafka 生产者如何管理连接