由于下面留下的一些答案/评论(我同意),我觉得这个问题太模糊,并没有充分解释我的问题。当我把它放在一起时,我太匆忙了,这导致了错误的答案,我接受了这个错误。由于目前的答案和评论,我觉得即使我再次编辑这个问题,未来的观众也会对页面上的答案/评论感到困惑,除非每个人都要更新它们。因此,我创建了另一个问题,完全澄清了我的问题。我再次为这个问题引起的混乱道歉。
澄清的问题可以在这里找到:Style an Ordered List like “X.X” based on list start attribute
我正在努力更新包含政策页面的客户网站。在政策内有九个不同的部分,每个部分都有自己的内容。每个部分内部都有不同的部分语句,它们的编号系统应为" x.x"。但是,这在基本HTML中不存在。此外,某些部分内部有各种不同形式的有序列表。
我已经确定我不想以嵌套的方式解决这个问题,也就是说这样:
<ol>
<li>Section 1
<ol>
<li>Item 1</li>
<li>Item 2</li>
</ol>
</li>
</ol>
这就是我所看到的每个其他答案对待问题的方式。相反,我希望像这样解决它(下面的示例代码)。我想要一个简单显示&#34; x.1,x.2,x.3,&#34;在哪里&#39; x&#39;取决于特定列表的起始编号。
<h2>Section 1</h2>
<strong>Heading 1</strong>
<ol class="specialList">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ol>
<strong>Heading 2</strong
<ol type="lower-roman">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ol>
<h2>Section 2</h2>
<ol class="specialList">
<li>
<ol type="upper-alpha">
<li>First subitem</li>
<li>Second subitem</li>
</ol>
</li>
<li>Second Item</li>
<li>Third Item</li>
</ol>
<h2>Section 3</h2>
<ol class="specialList">
<li>First item
<ol type="circle">
<li>First subitem</li>
<li>Second subitem</li>
</ol>
</li>
<li>Second item</li>
<li>Third item</li>
</ol>
<h2>Section 4</h2>
<ol class="specialList">
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ol>
标题
1.1第一项
1.2第二项
1.3第三项
标题2
一世。第一项
II。第二项
III。第三项
2.1第一项
A.第一个子项目
B.第二个子项目
2.2第二项
2.3第三项
3.1第一项
•第一个子项目
•第二个子项目
3.2第二项
3.3第三项
4.1第一项
4.2第二项
4.3第三项
这样,我可以避免使用嵌套的有序列表,并希望简化问题,尤其是必要的CSS。这意味着将一些起始值属性硬编码到每个有序列表中,但策略部分不会经常更改,因此这无关紧要。
我不想使用JavaScript,因为无论用户的设置如何,客户都希望它看起来像这样。这些页面是JSP页面,因此如果有一种方法可以将其设置为动态生成,那么这是可以接受的。
我已经查看了以下这些链接。虽然它们是很好的问题,但它们都没有回答我的具体问题。第一个处理嵌套的有序列表,而我正在处理单个有序列表。第二个有正确的想法,但仍然有点不同(有&#34; x.x.x&#34;,而我只想要&#34; x.x&#34;)。
Can Ordered List Produce Results that looks like 1.1?
Achieve sub numbering on ordered list
如果我需要澄清任何事情,请告诉我!谢谢!
总之,客户想要一个从&#34; x.1&#34;开始的列表。并尽可能地去,&#34; x&#34;是特定列表的给定起始值属性。我刚刚与他们澄清了这个问题,这就是这个&#34;更新&#34;要求。基本上,我需要一个类将列表顶层的编号系统更改为&#34; x.x&#34;格式(同样,第一个&#34; x&#34;是起始值&#34;)。任何子列表(嵌套列表)都不会遵循这种格式,但会遵循&#34; type&#34;中指定的另一种格式。或&#34; list-style&#34;属性。
答案 0 :(得分:2)
花了一段时间来解决这个问题!
这是我的fiddle
h2.title {
font-size: 20px;
font-weight: 800;
margin-left: -20px;
padding: 12px;
counter-increment: ordem;
}
li.heading {
font-size: 16px;
font-weight: bold;
padding: 12px;
list-style-type: none;
}
.bullet {
counter-reset: bullet;
padding-left: 12px;
}
.bullet li {
list-style-type: none;
}
.bullet li:before {
counter-increment: bullet;
content: counter(ordem)"." counter(bullet)" ";
}
ol.none {
list-style: none!important
}
li.s2sub::before {
counter-increment: none!important;
content: none!important;
}
li.s2sub {
list-style: upper-alpha;
}
li.s3sub::before {
counter-increment: none!important;
content: none!important;
}
li.s3sub {
list-style-type: circle;
}
li.roman::before {
counter-increment: none!important;
content: none!important;
}
li.roman {
list-style: lower-roman inside;
}
<body>
<ol>
<h2 class="title">Section 1</h2>
<li class="heading">Heading 1</li>
<ol class="bullet">
<li>text 1 one</li>
<li>text 1 two</li>
<li>text 1 three</li>
<li>text 1 four</li>
</ol>
<li class="heading">Heading 2</li>
<ol class="bullet">
<li class="roman">Item 1</li>
<li class="roman">Item 2</li>
<li class="roman">Item 3</li>
</ol>
<h2 class="title">Section 2</h2>
<ol class="bullet">
<li>First item
<ol>
<li class="s2sub">First subitem</li>
<li class="s2sub">Second subitem</li>
</ol>
</li>
<li>Second Item</li>
<li>Third Item</li>
</ol>
<h2 class="title">Section 3</h2>
<ol class="bullet">
<li>First item
<ol>
<li class="s3sub">First subitem</li>
<li class="s3sub">Second subitem</li>
</ol>
</li>
<li>Second item</li>
<li>Third item</li>
</ol>
</ol>
</body>
答案 1 :(得分:1)
我让它像这样工作:
body{
counter-reset: section children;
}
li{
list-style:none;
}
.parent::before {
counter-increment: section;
content: counter(section) " - ";
}
.parent li:first-child{
counter-reset:children;
}
.parent li::before{
counter-increment: children;
content: counter(section) "." counter(children) " - ";
}
&#13;
<ol>
<li class="parent">Section 1
<ol>
<li>Item 1</li>
<li>Item 2</li>
</ol>
</li>
<li class="parent">Section 2
<ol>
<li>Item 1</li>
<li>Item 2</li>
</ol>
</li>
</ol>
&#13;
我删除了列表样式,因为它没有必要 这样做是为孩子和部分创建两个单独的计数器,然后在每个新部分重置子计数器。