10
09/2014
Auto increment ol list with css only
Nested ol show numder just use CSS only.(not support ie6-7)
- 第一章
- 第二章
- 第一节
- 第二节
- 第一段
- 第二段
- 第三段
- 第一小段
- 第二小段
- 第三小段
- 第三节
- 第三章
- 第一节
- 第二节
- 第三节
How it works?
Html code is simple,just keep the right hierarchy.
<ol class="increment-ul"> <li>第一章</li> <li>第二章 <ol> <li>第一节</li> <li>第二节 <ol> <li>第一段</li> <li>第二段</li> <li>第三段 <ol> <li>第一小段</li> <li>第二小段</li> <li>第三小段</li> </ol> </li> </ol> </li> <li>第三节</li> </ol> </li> <li>第三章 <ol> <li>第一节</li> <li>第二节</li> <li>第三节</li> </ol> </li> </ol>
The css code
.increment-ul,.increment-ul li {list-style: none;margin:0;padding:0;} .increment-ul li:before {display:inline-block;margin-right: 0.5em;font-size: 1.6em;font-style: italic;color:#999;} .increment-ul {counter-reset:l1;} .increment-ul>li:before {content:counter(l1)'.';counter-increment:l1;} .increment-ul>li>ol {counter-reset:l2;} .increment-ul>li>ol>li:before {content:counter(l1)'.'counter(l2);counter-increment:l2;} .increment-ul>li>ol>li>ol {counter-reset:l3;} .increment-ul>li>ol>li>ol>li:before {content:counter(l1)'.'counter(l2)'.'counter(l3);counter-increment:l3;} .increment-ul>li>ol>li>ol>li>ol {counter-reset:l4;} .increment-ul>li>ol>li>ol>li>ol>li:before {content:counter(l1)'.'counter(l2)'.'counter(l3)'.'counter(l4);counter-increment:l4;} /*you can add more level here*/
You can add more level yourself.l1-l4(is just variables you named) reset the level of li tag.