CSS
The CSS counter() function is used to manage automatic numbering of items within a webpage.
counter() [function]
counter()関数は、ウェブページ内でカウンターを使って要素(項目など)の番号付けを自動的に管理するための機能です。例えば、章や節の番号、リスト項目の番号などを自動で付けたい場合に便利です。この機能を使うと、HTMLを修正することなく、CSSだけで番号を付けたり、スタイルを変更したりできます。
syntax
content: counter(counter_name);
content: counter(counter_name, list_style_type?);
- counter_name
- カウンタの名前です。
- list_style_type(オプション)
- カウンタの値の表示形式を指定します(例: decimal, lower-roman, upper-alphaなど)。
Sample
例として、HTMLで定義した3つの節に対して、自動的に「Section 1.」、「Section 2.」、「Section 3.」と番号を付けるサンプルコードを示します。
Introduction
This is the introduction section.
Body
This section discusses the main topic.
Conclusion
This section summarizes the discussion.
HTML
<h2>Introduction</h2>
<p>This is the introduction section.</p>
<h2>Body</h2>
<p>This section discusses the main topic.</p>
<h2>Conclusion</h2>
<p>This section summarizes the discussion.</p>
CSS
body {
counter-reset: section; /* セクションカウンターをリセット */
margin: 20px;
}
h2 {
counter-increment: section; /* カウンターを1増やす */
margin: 10px 0;
}
h2::before {
content: "Section " counter(section) ". "; /* カウンターの値を表示 */
font-weight: bold;
}
- カウンターのリセット
- bodyタグに counter-reset: section; を設定して、ページのカウンターをリセットします。ここで sectionはカウンターの名前です。
- カウンターの増加
- h2タグに counter-increment: section; を設定して、このタグが現れるたびに sectionカウンターを1増やします。
- 番号の表示
- h2タグの ::before疑似要素を使用して、contentプロパティに "Section " counter(section) ". "; を設定します。これにより、各 h2 の前に Section X. の形式で番号が自動的に挿入されます。