ホームページ作成/テキストの配置・装飾 (HTML,CSS)

CSSで、表(テーブル)のセル内に自動で連番を振る方法(4ページ目)

HTMLで作成した表(テーブル)に1行ずつ連番を振りたいと思ったことはありませんか?CSS(スタイルシート)のcounter-incrementプロパティ等を使えば、表の特定のセルに自動で連番を振ることも簡単です。1・2・3のような数値だけでなく、第1位・第2位・第3位のように任意の文字を組み合わせた連番も簡単に表示できます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

複数の表(テーブル)をまたいで、連続する番号を付加する方法

複数の表にまたがって、連続する番号を振る

複数の表にまたがって、連続する番号を振る

それでは最後に、複数の表があるページで、表ごとに番号をリセットせず、すべての表をまたいで番号を連続させる方法をご紹介致します。

これによって、右図のように、最初の表に「第1位」~「第10位」の番号が振られているとき、次の表には「第11位」~「第20位」のように、前の表から続く番号が振られます。


 
カウンタ変数のスコープ(有効範囲)が重要
前ページの例では、table要素に対してcounter-resetプロパティを使ったために、「table要素が現れるたびに新しい変数が作られる」ことになっていました。ですから、複数のtable要素をまたいで連番を振るためには、table要素よりももっと上位にある要素に対してcounter-resetプロパティを使えば良いのです。

ここで使用したHTMLソース(※前ページや後述のサンプルページのHTMLソースを参照)は、以下のような構造になっていました。
<div class="tables">
   <table class="basic">
      ※1つ目のテーブル
   </table>
   <table class="basic">
      ※2つ目のテーブル
   </table>
</div>
ですから、table要素ではなく、それよりも上位にあるdiv要素でcounter-resetプロパティを使えば、複数のtable要素でカウンタを連続させることができます(適当な上位の要素がない場合は、body要素に対して記述しておけば良いでしょう)。

したがって、以下のようにCSSソースを記述します。
div.tables {
   counter-reset: ranking;  /* ※A */
}
table.basic tbody th:before {
   counter-increment: ranking;          /* ※B */
   content: "第" counter(ranking) "位"; /* ※C */
}
上記の場合は、以下のように処理・描画されます。
  • ※A: div要素が現れた段階で、カウンタ変数「ranking」を作成 (値を0にセット)
  • ※B: (tbody要素内にある)th要素が現れるたびに、カウンタ変数「ranking」に1を加算
  • ※C: (tbody要素内にある)th要素の最初に「第XX位」の形式でカウンタの値を掲載
表示結果
table要素が分割されていても、番号を連続させることもできる

table要素が分割されていても、番号を連続させることもできる

右図のように、(前ページの例とは違って)table要素が出てきてもカウンタはリセットされません。したがって、1つ目のtable要素で各行に「第1位」・「第2位」・「第3位」……「第10位」と連番が振られた後、次のtable要素では「第11位」・「第12位」……のように続きの番号が付加されます。

実際にブラウザで閲覧してみるには、以下のサンプルページをご覧下さい。

表(テーブル)のセル内に自動で連番を振るサンプル2


 

CSSを使えば、好きな要素に「連番」を追加できる

今回は、表(テーブル)の各行頭に連番を振る方法を例にして、CSSを使って特定の要素に連番を付加する方法をご紹介致しました。表以外でも、h1・h2・h3要素などで作る「見出し」に章番号を加えるなどの目的でも利用できます。ぜひ、活用してみて下さい。

【関連記事】

【編集部おすすめの購入サイト】
楽天市場でホームページ作成関連の書籍を見るAmazon でホームページ作成の参考書を見る
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます