要素に連番を振るにはolを使うことが多いと思われますが、
counter-incrementプロパティは contentプロパティで、追加されたカウンタ(連番)の値を進めることができます。
CSS2.1から使えるようになりました。
カウンタは、「1.」「2.」「3.」「4.」の様にして番号を振ったり、
「1.1.」「1.2.」「1.3.」「2.1.」の様にして章や節を表す形で番号を振ることもできます。
カウンタの制御は、counter( )、または counters( ) の形式で、
括弧内にカウンタ名やスタイル(
その性質上、疑似要素beforeで使われることが殆どのようですね。
counterを使う順序として、
- contentでフォーマットを決める
- contentの中にcounterを用意して、どのようにインクリメントをするかを決める
- counter-incrementでどのcounterをインクリメントさせるかを決める
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Hoge</title> </head> <body> <ul> <li>小早川大尉</li> <li>工藤先生</li> <li>Y先生</li> </ul> </body> </html>
li:before { /* 1. contentで連番を振るフォーマットを決めて、 */ /* 2. counterでどのようにインクリメントするかを決める */ content : "Chapter" counter(chapter, decimal-leading-zero) " "; /* 3. counter-incrementでどのcounterをインクリメントするかを決める */ counter-increment : chapter; color : #666 ; } li { color : #136 ; }
(なお、decimal-leading-zeroで、接頭辞に0をつけることができます)