今日は箇条書きを沢山作らないといけないなぁ…
1条、1-2、1-3…….
むむ? リストの数字部分を手打ちで作っているのかい?
大変だけれど、〇とか□じゃなくて、第X条とかがあるから、自動ではできないんだ…
実は、少し前から自動で振る番号をカスタマイズできるんだ!
今回は、CSS2で実装され、現在全ブラウザに対応している「リスト要素のcounter」についてご紹介します。
counter(カウンタ)とは?
CSSのカウンタとは、Webページで要素を数えたり、順序を表示したりするための仕組みです。リストの各項目に連番を表示したり、特定の場所に番号を挿入したりできます。これにより、ページ上の要素の数や位置をわかりやすく示すことができます。
使いどころ
まず、こちらの例を見てみましょう。
See the Pen Untitled by nosuke (@ywobquzi-the-styleful) on CodePen.
<li>要素の中身は、「○○について」や「××について」など、リスト内の要素しかないことが分かると思います。「第」〇「条」は記述していないのです。
これが「リスト要素のcounter」です。
当然、<li>要素が増えれば第4条、第5条…と数字も増えていきます。
CSSプロパティ
では、設定されているCSSを見てみましょう。
See the Pen Untitled by nosuke (@ywobquzi-the-styleful) on CodePen.
- counter-reset: listnum;
-
これは、「このCSSを設定した要素で数字のカウントを1にするよ!」という宣言です。
「listnum」とあるものは、「listnum」という名前のカウンターを1にするという意味です。
- list-style: none;
-
こちらは既存のリスト要素のマーカーを削除するものです。
・リスト
・リストこれの「・」を消し、自作のマーカーを表示するためです。
- counter-increment: listnum;
-
こちらは、このプロパティを設定した要素ごとに、「listnum」のカウンターの数字を増やすよ!という宣言です。この例では、<li>要素が1つ増えたら、数字も1つ増えます。
- content: ‘第’counter(listnum)’条’;
-
これが実際の表示を決めるプロパティになります。
まず、counter(listnum)で、このリストのカウンターはlistnumという名前のものを使用します!と宣言しています。
そして、前後に’第”条’を付けることで、 第 (カウンター) 条 という表示になります。
以上が「リスト要素のcounter」で主に使うCSSプロパティの解説です。
リスト要素を使う時にとても便利だね!
さらに、増えていく数字の種類も変えられます!
counterのカスタマイズ
さらに、counterの数字を色々なものに変更できます!
See the Pen Untitled by nosuke (@ywobquzi-the-styleful) on CodePen.
coutentプロパティ
content(カウンター名,○○) ” “;
○○部分に特定の設定をすることで、カウントされていく要素を漢数字・アルファベットなどに変更することができます!以下はその一覧です。
値 | 内容説明 |
---|---|
armenian | アルメニア数字 |
circle | 白丸 |
cjk-ideographic | 漢数字 |
decimal | 算用数字 |
decimal-leading-zero | 先頭に0をつけた数字 (01, 02, 03, 等) |
georgian | グルジア数字 |
hebrew | ヘブライ数字 |
hiragana | ひらがな – あいうえお順 |
hiragana-iroha | ひらがな – いろは順 |
inherit | listStyleType プロパティの値は親要素から継承することを指定する |
katakana | カタカナ – アイウエオ順 |
katakana-iroha | カタカナ – イロハ順 |
lower-alpha | 小文字のアルファベット (a, b, c, d, e 等) |
lower-greek | 小文字のギリシャ文字 |
lower-latin | 小文字のアルファベット (a, b, c, d, e 等) |
lower-roman | T小文字のローマ数字 (i, ii, iii, iv, v 等) |
upper-alpha | 大文字のアルファベット (A, B, C, D, E 等) |
upper-latin | 大文字のアルファベット (A, B, C, D, E 等) |
upper-roman | 大文字のローマ数字 (I, II, III, IV, V 等) |
このように、カウンターの種類を様々なものに変更できます!
まとめ
CSSのcounterを利用することで、箇条書きなどを効率よく作成できます。コンテンツ量が多くなりがちなプライバシーポリシーなどで使われやすい「第〇条」なども自動でカウントしていけるので、活用してみてください!
質問などあれば気軽に書き込んでくださいね♪