カウンタは内容モデル(要素内容)に自動的に番号を付けたい場合に使用します。カウンタを操作するには下記の3つのプロパティを使用します。
カウンタを進めます。値には
識別子(カウンタ名)を指定します。
カウンタをリセットします。値には、
識別子(カウンタ名)を指定します。
「:before」疑似要素または「:after」疑似要素に対して指定しカウンタを表示させます。「counter()」関数や「counters()」関数を値として指定します。
要素に単に番号を振る場合には「counter()」関数を用います。要素に「1.1.1」、「1.1.2」のような番号を付ける場合には「counters()」関数を用います。
「counter()」関数は、以下のような形式で指定します。表示形式のデフォルトは、10進数字をあらわす「decimal」です。
counter(識別子)
counter(識別子, 表示形式)
OL { counter-reset: item }
LI { display: block }
LI:before { content: counter(item) ". "; counter-increment: item }
このように指定されたカウンタは以下のように表示されます。
1. content 1
1. foundation #1
2. foundation #2
2. content 2
「counters()」関数は、以下のような形式で指定します。
文字列には区切り文字を指定します。表示形式のデフォルトは、10進数字をあらわす「decimal」です。「表示形式」には、
list-style-typeプロパティ(C1- ie4- N4-)で指定できる値(
<'list-style-type'>)を指定することができます。
counters(識別子, 文字列)
counters(識別子, 文字列, 表示形式)
OL { counter-reset: item }
LI { display: block }
LI:before { content: counters(item, "."); counter-increment: item }
このように指定されたカウンタは以下のように表示されます。
1 content 1
1.1 foundation #1
1.2 foundation #2
2 content 2
counter-incrementプロパティ(C2- ie8-)で参照したカウンタが、
counter-resetプロパティ(C2- ie8-)の作用範囲にも当てはまらないカウンタは、ルート要素
(*1)で「0」に初期化されます。
*1 CSS2におけるルート要素とは、親要素を持たない要素のことをあらわしますが、ここでいうルート要素とは、「counter-reset」の作用範囲外の要素だと考えられます。
関連項目:
自動番号振り カウンタサンプル詳細