カウンタサンプル詳細

 
自動番号振り
ホーム > CSS2 Note > 自動番号振り > カウンタサンプル詳細

カウンタサンプル詳細

counter-incrementプロパティ(C2- ie8-)で参照したカウンタが、counter-resetプロパティ(C2- ie8-)の作用範囲にない場合、そのカウンタはルート要素(*1)で「0」に初期化されます。

*1 CSS2におけるルート要素とは、親要素を持たない要素のことをあらわしますが、ここでいうルート要素とは、「counter-reset」の作用範囲外の要素だと考えられます。

以下に自動番号振りと共にcontentプロパティの「counter()」関数を指定したサンプルを示します。
h1:before {
content: "第" counter(chapter) "章 ";
counter-increment: chapter;
counter-reset: section;
}
h2:before {
content: "第" counter(chapter) "章 第" counter(section) "節 ";
counter-increment: section;
}

このように指定されたカウンタは、ブラウザが対応していれば以下のように表示されます。

第1章 content 1
第1章 第1節 foundation #1
第1章 第2節 foundation #2
第2章 content 2
counter-resetプロパティは、通常のカスケード処理に従います。したがって次の記述は
h1:before {counter-reset:gap -1}
h1:before {counter-reset:uniqlo 99}

カウンタ名「uniquro」だけの初期化を行ってしまいます。両者を初期化するにはまとめて指定します。

h1:before {counter-reset: gap -1 uniqlo 99}

カウンタは自身をネスト(入れ子)にして指定することができます。

次のような指定でHTMLli要素のような番号を振ることができます。
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()」関数を用いると、「1.1.1」「1.1.2」のような番号を振ることができます。
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(識別子 表示形式)」「counters(識別子 表示形式)」関数における表示形式には、list-style-typeプロパティで指定できる値を指定することができます。

表示されない要素におけるカウンタの扱い関して、「display: none」の要素では増加と初期化は行えませんが、「visibility:hidden」の要素では増加と初期化を行うことができます。
 
関連項目: 自動番号振り
トップページ CSS2 Note ページトップ
 2005/09/21発行 2009/09/01更新