有没有办法像使用HTML5和CSS一样创建多级列表?

问题描述:

我想用HTML5CSS只创建这样的列表:有没有办法像使用HTML5和CSS一样创建多级列表?

1 First 
    1.1 Indent 1 
    1.2 Indent 2 
2 Second 
    2.1 Indent 1 
    2.2 Indent 2 
    2.2.1 More depth 

我检查多个教程上有序列表,但它似乎<ol>标签没有做选择所以。是否可以使用HTML5CSS

+0

是那些名单你的问题其实是关于什么的自动编号?如果是这样,请查看https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Counters – CBroe 2014-09-04 14:45:25

+0

查看http://stackoverflow.com/questions/2729927/number-nested-ordered-lists-in -html – Aibrean 2014-09-04 14:45:33

可以使用before伪元素来实现这一目标:

HTML

<ul class="numeric"> 
<li>First 
    <ul> 
     <li>Indent </li> 
     <li>Indent </li> 
    </ul> 
</li> 
<li>Second 
    <ul> 
     <li>Indent</li> 
     <li>Indent</li> 
    </ul> 
</li> 
<li>Third 
     <ul> 
      <li>Indent</li> 
      <li>Indent</li> 
      <li>Indent</li> 
      <li>Indent</li> 
     </ul> 
    </li> 
<li>Fourth 
    <ul> 
     <li>Indent</li> 
     <li>Indent</li> 
    </ul> 
</li> 
<li>Five</li> 

CSS

ul.numeric { counter-reset:section; list-style-type:none; } 
ul.numeric li { list-style-type:none; } 
ul.numeric li ul { counter-reset:subsection; } 
ul.numeric li:before{ 
    counter-increment:section; 
    content:counter(section) ". "; 
} 
ul.numeric li ul li:before { 
    counter-increment:subsection; 
    content:counter(section) "." counter(subsection) " "; 
} 

fiddle

参考文献:

CSS counter-reset Property

+0

如果我在每个元素上手动设置element.style,它应该工作吗?我试过了,它不起作用。尽管您的示例使用外部css文件。 – 2014-09-05 09:58:28

+0

不,我没有使用外部的CSS文件..我使用纯CSS。看我的小提琴的例子。 – 2014-09-05 10:00:07

+0

但[this](http://jsfiddle.net/tpqe74ov/)不起作用。 – 2014-09-05 10:03:15