如果格式中的ol看起来如下所示,很容易得到正确的计数
<ol>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
<li>item
</ol>
</li>
<li>item</li>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
<li>item
</ol>
</li>
<li>item</li>
</ol>
但是,如果我想把ul放在ol里面,我就无法让计数器正常工作
<ol>
<li>item</li>
<li>item
<ul>
<li>item</li>
<li>item</li>
<li>item
</ul>
</li>
<li>item</li>
<li>item</li>
<li>item
<ul>
<li>item</li>
<li>item</li>
<li>item
</ul>
</li>
<li>item</li>
</ol>
有没有办法避免计算ul?
答案 0 :(得分:5)
有一种非常简单的方法可以修复它。只需使用CSS子选择器(>
),因此计数仅包含<li>
的子项<ol>
。
ol > li::before {
counter-increment: my;
content: counter(my) ;
margin-right: 10px;
}
答案 1 :(得分:2)
您需要在子li
这就是你要这样做的方式
ol,ul {
list-style:none;
}
.count{
counter-reset: section;
}
ol>li {
counter-reset: subsection;
}
ol>li:before {
counter-increment: section;
content: counter(section) ". ";
}
ul li:before {
counter-increment: subsection;
content: counter(section) "." counter(subsection) " ";
}