この項のもくじ

  1. その1
  2. その2
  3. その3
  4. ウエブサイト作製ガイド・もくじ
  5. 更新履歴
  6. ご案内・関連ページ

表は作れるようになりました。もう少し、気を遣って、判りやすい表にします。デザインを作る上でも構造化は重要です。

データの構造化

表でデータを並べるからには、構造化は必須です。そうすることによって、スタイルシートで適切なデザインが可能になり、データの理解を大いに助けるでしょう。逆に、構造化されているからこそ、表に整理できる訳です。

ここに出てきた、<col>、<colgroup>、<tbody>、<thead>、<tfoot>、および、rowspan、colspan属性は、表のデータをまとめて、構造を分かりやすくするためのものです。これらのタグや属性を使って、日程表をもう少し凝った、実用的なものにしてみます。

もう少し分かりやすく(行と列の構造化)

これまた意外と簡単。まず、いくつかのタグを追加して、行を構造化してみます。

  1. まず、一行目は表題であるということで、<thead></thead>で括ります。テーブルのヘッダという意味でしょう。
  2. 次に出てくるのは<tfoot></thoot>。フッタを本体より先に記述します。表示されるときは、<tfoot>が表の最後に表示されるはずです。
  3. データを示す本体部分を<tbody></tbody>で括ります。下の例では、8月の日程と9月の日程をそれぞれ<tbody id="august"><tbody id="september">で括っています。
    • <tbody>の中身は、ひとつ以上の<tr></tr>が入るはずです。
    • また、<tbody>は省略可能ですが、省略しない場合は、全ての<tr><tbody>の子要素になる必要があります。
    • 並べる順序は、<thead>に続いて、<tfoot>、そして、<tbody>です。

次に、列の構造化というか、タグで括ってまとめます。使うタグは、<colgroup><col>です。

<col>の方は、空要素です。<caption></caption>の次の行に書いて、表の中の列の構造を示します。ともに、id、またはclass属性を付けます。

<colgroup>にはspan属性でいくつの列を括るのか明示するか、あるいは、括りたい列の数だけ<col>を並べます。span属性の数、<col>の数の合計が<tr>に含まれる<td>あるいは<th>の合計数に一致する必要があります。

例では、一列目と2列目がスケジュール、<colgroup id="schedule">3列目から6列目までがチーム<colgroup id="team">を示していますので、そのように記載します。また、それぞれの列も<col id="kobe">の様に記述してゆきます。<colgroup>の中に、<col>を書かないときは、いくつの列をグループ化するか、span属性で示します。

<colgroup id="schedule" span="2"></colgroup>

各々の行は、日付を示していますので、<tr id="1st_wk_sat">(第一節の土曜日)のようにid属性を付けることにします。

<table summary="関西地区Jリーグ試合の予定を一列目、神戸、2列目万博、3列目長居、4列目西京極で、後期各節ごとに対戦相手などを記載">
<caption>関西地区Jリーグ2003年後期日程表 (sample_4)</caption>
<colgroup id="schedule">
<col id="clause">
<col id="date">
</colgroup>
<colgroup id="team">
<col id="kobe">
<col id="gamba">
<col id="cerezo">
<col id="kyoto">
</colgroup>
<thead>
<tr>
<th>節</th>
<th>日付</th>
<th>神戸</th>
<th>G大阪</th>
<th>C大阪</th>
<th>京都</th>
</tr>
</thead>
<tfoot>
<tr><td colspan="6"><a href="http://www.j-league.or.jp/record/j1_2nd/index.html">Jリーグオフィシャルサイト</a>でご確認下さい。</td>
</tr></tfoot>
<tbody id="august">
<tr id="1st_wk_sat">
<th>第1節</th>
<td>8/16</td>
<td></td>
<td></td>
<td>at 味スタ</td>
<td>at 柏</td>
</tr>
<tr id="1st_wk_sun">
<th>第1節</th>
<td>8/17</td>
<td>vs 市原 </td>
<td>vs 大分 </td>
<td></td>
<td></td>
</tr>
< tr id="2nd_wk_sat">
< th>第2節</th>
<td>8/23</td>
<td></td>
<td>at 市原</td>
<td>vs 柏</td>
<td>vs 浦和</td>
< /tr>
< tr id="2nd_wk_sun">
< th>第2節</th>
<td>8/24</td>
<td>at 仙台 </td>
<td></td>
<td></td>
<td></td>
< /tr>
< tr id="3rd_wk_sat">
< th>第3節</th>
<td>8/30</td>
<td>at 駒場</td>
<td>at 柏</td>
<td>vs 仙台</td>
<td>vs 磐田</td>
< /tr>
< /tbody><!-- end of "august" -->
< tbody id="september">
< tr id="4th_wk_sat">
< th>第4節</th>
<td>9/6</td>
<td>vs清水</td>
<td>vs浦和</td>
<td>at磐田</td>
<td>at東京V</td>
< /tr>
< tr id="5th_wk_sat">
< th>第5節</th>
<td>9/13</td>
<td>vs東京V</td>
<td></td>
<td>vs京都</td>
<td>atC大阪</td>
< /tr>
< tr id="5th_wk_sun">
< th>第5節</th>
<td>9/14</td>
<td></td>
<td>at清水</td>
<td></td>
<td></td>
< /tr>
< tr id="6th_wk_sat">
< th>第6節</th>
<td>9/20</td>
<td>atG大阪</td>
<td>vs神戸</td>
<td>at東京V</td>
<td>vs名古屋</td>
< /tr>
< tr id="7th_wk_tue">
< th>第7節</th>
<td>9/23</td>
<td>vs横浜</td>
<td>vs東京V</td>
<td>at名古屋</td>
<td>at鹿嶋</td>
< /tr>
< tr id="8th_wk_sat">
< th>第8節</th>
<td>9/27</td>
<td>at大分</td>
<td>at横浜</td>
<td>vs鹿嶋</td>
<td>vs東京F</td>
< /tr>
< /tbody><!-- end of "september" -->
< /table>

関西地区Jリーグ2003年後期日程表 (sample_4)
日付 神戸 G大阪 C大阪 京都
Jリーグオフィシャルサイトでご確認下さい。
第1節 8/16 at 味スタ at 柏
第1節 8/17 vs 市原 vs 大分
第2節 8/23 at 市原 vs 柏 vs 浦和
第2節 8/24 at 仙台
第3節 8/30 at 駒場 at 柏 vs 仙台 vs 磐田
第4節 9/6 vs清水 vs浦和 at磐田 at東京V
第5節 9/13 vs東京V vs京都 atC大阪
第5節 9/14 at清水
第6節 9/20 atG大阪 vs神戸 at東京V vs名古屋
第7節 9/23 vs横浜 vs東京V at名古屋 at鹿嶋
第8節 9/27 at大分 at横浜 vs鹿嶋 vs東京F

ここまでのまとめ

とりあえず、表を作って、ある程度の構造化が出来たところで、改めて表に関するタグ、属性などをおさらいしておきます。今まで触れていない属性もいっしょにまとめます。参考資料は、HTML概説リファレンス、テーブル要素の概説(ともにChaichan-worldのコンテンツ)です。

テーブルに関わるタグ一覧

取りあえず、並べてみます。

<table>
ブロック要素。テーブルであることを明示する
利用できる属性:summary; width; border; frame; rules; cellspacingl cellpadding
<caption>
<table>の子要素。
テーブル要素内の一行目に記載
<colgroup>
テーブル内で複数の列を括る
span属性で括る列数を指定、
<col>
テーブル内の特定の列を明示する
同じ列にあるセルに共通の属性を与える
<tr>
テーブルの行をまとめる
<th>
テーブル内で見出しになる
<td>
テーブル内のデータ
<thead>
テーブルでヘッダに相当する部分
テーブルの行をグループ化する
<tfoot>
テーブルでフッタに相当する部分
テーブルの行をグループ化する
<tbody>
テーブルでデータを並べる本体
テーブルの行をグループ化する

属性

もう少し勉強してから、スタイルシートによるデザイン法を続けます。

ウエブサイト作製ガイドのもくじ

  1. はじめに
  2. 割と正しいHTMLを記載する方法
  3. スタイルシート
  4. テーブルをマスターする
    1. 基本を押さえる
    2. データを構造化する
    3. データの並べ方
  5. おまけ

更新履歴


oyanews/homep/creating/web_table2