如何使用css和html命令生成从1.1,1.2,1.3(而不是仅仅1,2,3)开始的结果的列表

时间:2016-05-26 10:23:45

标签: html css

如何使用css和html命令产生看起来像1.1,1.2,1.3(而不仅仅是1,2,3)的结果的列表?

到目前为止输出为,

enter image description here

代码如下,

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, ".") " ";
}

但我需要得到结果,

enter image description here

得到了答案,请参考JSfiddle

4 个答案:

答案 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