使用CSS中的多个类继续编号的嵌套有序列表

时间:2017-04-28 19:03:11

标签: html css wordpress

我正在使用WordPress,并为我的ol和li设置了现有的默认css样式,我无法更改。

我需要使用类创建一个3级有序列表(样式),并且无法弄清楚如何继续从一个类到另一个类的编号。

我想出了一个解决方法。我创建了6个不同的类并将counter-reset设置为我想要继续的数字,但是我知道这不是正确的方法,如果我要修改列表,编号就不会自行调整。此外,列表样式位置将无法工作,所以我不得不摆弄填充,边距和文本缩进,以使其正确排列。

我创建了一个jsfiddle来展示我的榜样。我故意离开了第一级别的水平以显示它正在做什么。我已经观看并阅读了几个教程来帮助我达到这一点,但现在我陷入了困境。非常感谢帮助,谢谢!

我的CSS

ol.myList {
counter-reset: list;
text-align:justify;
margin-left: 35px;   
padding-left: 30px;
text-indent: -3em;

}
ol.myList > li {
list-style: none;
margin-left: 0;
padding-left: 0;
margin-bottom: 20px; 
}

ol.myList > li:before {
counter-increment: list;
content:"(" counter(list, lower-alpha) ")"; padding-right: 1em;
margin-left: 1em;
}

ol.terms{
counter-reset: list;
text-align:justify;
margin-left: 35px;
padding-left: 0;
text-indent: -2em;
}

ol.terms > li {
list-style: none;
margin-left: 0;
padding-left: 0;
margin-bottom: 20px; 
}

ol.terms li:before {
content: counter(list) "."; padding-right: 1em;
counter-increment: list;
font-weight: bold;
}

ol.terms-cont{
counter-reset: list 8;
text-align:justify;
margin-left: 35px;
padding-left: 0;
text-indent: -2em;
}

ol.terms-cont > li {
list-style: none;
margin-left: 0;
padding-left: 0;
margin-bottom: 20px; 
}

ol.terms-cont li:before {
content: counter(list) "."; padding-right: 1em;
counter-increment: list; 
font-weight: bold;
}

ol.terms-roman {
counter-reset: list;
text-align:justify;
margin-left: 35px;   
padding-left: 65px;
text-indent: -3em;
}

ol.terms-roman > li {
list-style: none;
margin-left: 0;
padding-left: 0;
margin-bottom: 20px; 
}

ol.terms-roman > li:before {
counter-increment: list;
content:"(" counter(list, lower-roman) ")"; padding-right: 1em;
margin-left: 1em;
}

ol.myList-cont {
counter-reset: list 5;
text-align:justify;
margin-left: 35px;   
padding-left: 30px;
text-indent: -3em;
}

ol.myList-cont > li {
list-style: none;
margin-left: 0;
padding-left: 0;
margin-bottom: 20px; 
}

ol.myList-cont > li:before {
content:"(" counter(list, lower-alpha) ")"; padding-right: 1em;
counter-increment: list;
margin-left: 1em;
}

ol.terms-cont-1{
counter-reset: list continue;
text-align:justify;
margin-left: 35px;
padding-left: 0;
text-indent: -2.25em;
}

ol.terms-cont-1 > li {
list-style: none;
margin-left: 0;
padding-left: 0;
margin-bottom: 20px; 
}

ol.terms-cont-1 li:before {
content: counter(list) "."; padding-right: 1em;
counter-increment: list; 
font-weight: bold;
}

1 个答案:

答案 0 :(得分:0)

当然,我一发布就知道了。我正在关闭嵌套列表之间的<ol>标记。固定的HTML就在这个小提琴中:jshell.net/f9ruwzr5