如何使用css和html命令产生看起来像1.1,1.2,1.3(而不仅仅是1,2,3)的结果的列表?
到目前为止输出为,
代码如下,
HTML:
<ol>
<li>Lorem ipsum.</li>
<li>Excepteur sint occaecat cupidatat non proident:
<ol>
<li>sunt in culpa qui officia,</li>
<li>deserunt mollit anim id est laborum.</li>
</ol>
</li>
<li>Ut enim ad minim veniam.
<ol>
<li>Quis nostrud exercitation.</li>
<li>Ullamco laboris nisi ut.
<ol>
<li>
Duis aute irure dolor
</li>
</ol>
</li>
</ol>
</li>
CSS:
ol {
list-style-type: none;
counter-reset: item;
margin: 0;
padding: 0;
}
li {
display: table;
counter-increment: item;
margin-bottom: 0.6em;
}
li:before {
content: counters(item, ".") ". ";
display: table-cell;
padding-right: 0.6em;
}
li li {
margin: 0;
}
li li:before {
content: counters(item, ".") " ";
}
但我需要得到结果,
答案 0 :(得分:8)
只需修改HTML即可将所有列表放在li元素中,如下所示:
<ol>
<li class="parent">
/** Your HTML **/
</li>
</ol>
并添加以下css以隐藏第一个编号:
li.parent:before { content: ""; }
Here你可以找到演示。
答案 1 :(得分:3)
从CSS中的(". ")
中取出额外的点li:before
:
li:before {
content: counters(item, ".") ;
display: table-cell;
padding-right: 0.6em;
}
以下是Demo
答案 2 :(得分:1)
Please Use this css
----------
ol {
list-style-type: none;
counter-reset: item;
margin: 0;
padding: 0;
}
li {
display: table;
counter-increment: item;
margin-bottom: 0.6em;
}
li:before {
content: counters(item, ".") "." counters(item, ".");
display: table-cell;
padding-right: 0.6em;
}
li li {
margin: 0;
}
li li:before {
content: counters(item, ".") "." counter(item);
}
<ol>
<li>Lorem ipsum.</li>
<li>Excepteur sint occaecat cupidatat non proident:
<ol>
<li>sunt in culpa qui officia,</li>
<li>deserunt mollit anim id est laborum.</li>
</ol>
</li>
<li>Ut enim ad minim veniam.
<ol>
<li>Quis nostrud exercitation.</li>
<li>Ullamco laboris nisi ut.
<ol>
<li>
Duis aute irure dolor
</li>
</ol>
</li>
</ol>
</li>
</ol>
答案 3 :(得分:0)
您可以使用计数器来执行此操作! Can ordered list produce result that looks like 1.1, 1.2, 1.3 (instead of just 1, 2, 3, ...) with css? 以下是关于同一主题的另一个问题:D