html - 嵌套有序列表 HTML:第三个增量为不同类型
问题描述
我需要在我们的网站上放一些法律文本(条款和条件),法律人员已经做到了,因此有 2 个级别的增量。不是一个大问题,我发现了一些可以很好地解决问题的 CSS。
但是,问题在于第三级增量不是1.1.1而是a,因此是不同的类型。而且我找不到使用 CSS 实现这一目标的方法。
一个额外的复杂情况是,在另一段中,他们使用了第三级的另一种类型:i、ii、iii。
我使用的代码如下。关于如何实现这一目标的任何想法?
<!DOCTYPE html>
<html>
<head>
<style>
ol {
list-style-type: none;
counter-reset: item;
margin: 0;
padding: 0;
}
ol > li {
display: table;
counter-increment: item;
margin-bottom: 0.6em;
}
ol > li:before {
content: counters(item, ".") ". ";
display: table-cell;
padding-right: 0.6em;
}
li ol > li {
margin: 0;
}
li ol > li:before {
content: counters(item, ".") " ";
}
</style>
</head>
<body>
<ol>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
<li>item
<ol>
<li>this needs to be a</li>
<li>this needs to be b</li>
<li>this needs to be c</li>
</ol>
</li>
<li>item</li>
</ol>
</li>
<li>item</li>
<li>item</li>
</ol>
</body>
</html>
解决方案
好的,我想通了,这要感谢Lister 先生关于课程的指针。
诀窍有两个方面:
- 将特定选择器添加到 CSS 以仅选择列表的第 3 级
- 添加 2 个类,一个用于 lower-alpha,一个用于 lower-roman
完整代码如下。
<!DOCTYPE html>
<html>
<head>
<style>
ol {
list-style-type: none;
counter-reset: item;
margin: 0;
padding: 0;
}
ol > li {
display: table;
counter-increment: item;
margin-bottom: 0.6em;
}
ol > li:before {
content: counters(item, ".") ".";
display: table-cell;
padding-right: 0.6em;
}
li ol > li {
margin: 0;
}
li ol > li {
margin: 0;
}
li ol > li:before {
content: counters(item, ".") " ";
}
li ol li ol.alpha> li:before {
content: counter(item, lower-alpha)".";
}
li ol li ol.roman> li:before {
content: counter(item, lower-roman)".";
}
</style>
</head>
<body>
<ol>
<li>item</li>
<li>item
<ol>
<li>item
<ol class="alpha">
<li>this needs to be a</li>
<li>this needs to be b</li>
<li>this needs to be c</li>
</ol>
</li>
<li>item</li>
<li>item
<ol class = "roman">
<li>this needs to be i</li>
<li>this needs to be ii</li>
<li>this needs to be iii</li>
</ol>
</li>
<li>item</li>
</ol>
</li>
<li>item</li>
<li>item</li>
</ol>
</body>
</html>
感谢您让我朝着正确的方向前进!
推荐阅读
- git - 日期错误的 Git 提交
- javascript - 如何通过在javascript中单击鼠标触发输入中的按键
- javascript - 我如何知道某个元素是否在屏幕上?
- vee-validate - 使用带有 vee-validate 的日期类型
- zsh - 如何在我的 zsh 主题中有条件地打印返回码?
- sql - 如何展示只有一个项目的员工,以及他们的项目。多对多关系问题
- reactjs - 在测试渲染获取的 API 数据的 React 组件时,如何在做出任何断言之前最好地等待该数据?
- angular - 角度/打字稿错误:类型'Observable
' 不可分配给类型 'Observable ' - linux - 如果 fdisk 说它们很忙,我该如何创建 arch linux 分区?
- ngrok - 启动 ngrok HTTP 隧道,但只转发到 HTTP 或 HTTPS,而不是两者