万万没想到,写了快三年前端,有不会用的css,居然还有完全没听过、见过的css属性,而且还是CSS2的内容!
关于counter-reset、content-increment两个属性的详解可以参看张鑫旭的博文:《CSS计数器(序列数字字符自动递增)详解》,这里做个记录,写个demo
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>content-increment</title> <style> .test li {margin:16px 0;padding:0;list-style:none;} .test li li:before{color:#f00;font-family:'Microsoft YaHei';} .counter1 li{counter-increment:testname;} .counter1 li:before{content:counter(testname)".";} .counter2 li{counter-increment:testname2 2;} .counter2 li:before{content:counter(testname2)"/";} .counter3 li{counter-increment:testname3 -1;} .counter3 li:before{content:counter(testname3)")";} .counter4 li{counter-increment:testname4;} .counter4 li:before{content:counter(testname4, upper-roman)". ";} .counter5 {counter-reset:testname5;} .counter5 li:before{content: counters(testname5, '-') '. '; counter-increment: testname5;color:blue;font-family: 'Microsoft YaHei';} </style> </head> <body> <ul class="test"> <li class="counter1"> <strong>默认时的计数器:</strong> <ul> <li>列表项</li> <li>列表项</li> <li>列表项</li> </ul> </li> <li class="counter2"> <strong>修改计数器每次增加的值为2:</strong> <ul> <li>列表项</li> <li>列表项</li> <li>列表项</li> </ul> </li> <li class="counter3"> <strong>修改计数器每次增加的值为-1:</strong> <ul> <li>列表项</li> <li>列表项</li> <li>列表项</li> </ul> </li> <li class="counter4"> <strong>修改计数器以罗马字符显示:</strong> <ul> <li>列表项</li> <li>列表项</li> <li>列表项</li> </ul> </li> </ul> <ul class="test counter5"> <strong>计数器以嵌套计数显示:</strong> <li>父级</li> <li>父级 <ul class="counter5"> <li>子级1</li> <li>子级2</li> <li>子级3</li> </ul> </li> <li>父级 <ul class="counter5"> <li>子级1</li> <li>子级2</li> <li>子级3</li> </ul> </li> <li>父级</li> </ul> </body> </html>
兼容情况还不错: