CSS: 嵌套 ol 从 1.1 开始编号
CSS: nested ol start numbering at 1.1
我有一组相关的嵌套 topics/subtopics,使用 <ol>
。到目前为止,我在树的顶部使用的 CSS 效果很好,但用户可以单击子主题,我正在重新绘制 <ol>
的嵌套集,从用户单击的位置开始。我的问题是,我需要尊重章节编号等。
所以,如果一个典型的结构可能是这样的:
Vehicles
1. Automobile
1.1 Street
1.1.1 Sedan
1.1.2 Coup
1.1.3 Truck
1.2 Race
1.2.1
2. Rail
2.1 Locomotive
2.2 High Speed
2.3 Uni
并且用户点击了1.1 Street
,我需要显示:
1.1 Street
1.1.1 Sedan
1.1.2 Coup
1.1.3 Truck
我目前的CSS是这样的:
ol li {display:block;}
ol > li:first-child {counter-reset: item;}
ol > li {counter-increment: item; position: relative;}
ol > li:before {content:counters(item, ".") ". "; position: absolute; margin-right: 100%; right: 10px;}
我尝试了一些带有第二个计数器的变体,但没有骰子!使这个问题复杂化的是,树可以无限深,因此任何硬编码解决方案都无法解决。谢谢!
您可以将列表包裹在外部 <ol><li>
块中,然后更新 CSS 以显示嵌套内容的计数器
ol ol > li:before {content:counters(item, ".") ". "; position: absolute; margin-right: 100%; right: 10px;}
这是一个演示:
我有一组相关的嵌套 topics/subtopics,使用 <ol>
。到目前为止,我在树的顶部使用的 CSS 效果很好,但用户可以单击子主题,我正在重新绘制 <ol>
的嵌套集,从用户单击的位置开始。我的问题是,我需要尊重章节编号等。
所以,如果一个典型的结构可能是这样的:
Vehicles
1. Automobile
1.1 Street
1.1.1 Sedan
1.1.2 Coup
1.1.3 Truck
1.2 Race
1.2.1
2. Rail
2.1 Locomotive
2.2 High Speed
2.3 Uni
并且用户点击了1.1 Street
,我需要显示:
1.1 Street
1.1.1 Sedan
1.1.2 Coup
1.1.3 Truck
我目前的CSS是这样的:
ol li {display:block;}
ol > li:first-child {counter-reset: item;}
ol > li {counter-increment: item; position: relative;}
ol > li:before {content:counters(item, ".") ". "; position: absolute; margin-right: 100%; right: 10px;}
我尝试了一些带有第二个计数器的变体,但没有骰子!使这个问题复杂化的是,树可以无限深,因此任何硬编码解决方案都无法解决。谢谢!
您可以将列表包裹在外部 <ol><li>
块中,然后更新 CSS 以显示嵌套内容的计数器
ol ol > li:before {content:counters(item, ".") ". "; position: absolute; margin-right: 100%; right: 10px;}
这是一个演示: