表(テーブル)

[Webプログラミングもくじ]

表の必要性

表は、一般的には、なんらかのデータを整理して見やすくするために使われる。 HTMLでは、それ例外にも、Webページのみばえを制御するために使われる。これ は本来の表の役割ではないが、現状のHTMLにおいて段組機能は標準でないため、 しばしばページのレイアウトを整える目的のために使われる。そして、最近のレ イアウトに少しでも凝っているWebページではほとんど表機能が使われている状 態である。

普通の表の作り方

もっとも単純な表は、1行1列の表であり、下記のようなHTMLによって作成され る。

<table border="1">
<tbody>
  <tr>
    <td>
      表の内容をここに書く
    </td>
  </tr>
</tbody>
</table>

ブラウザに表示される表は、

表の内容をここに書く

2行3列の表は、以下のように書く。

<table border="1">
<tbody>
  <tr>
    <td>
      第1行第1列の内容
    </td>
    <td>
      第1行第2列の内容
    </td>
    <td>
      第1行第3列の内容
    </td>
  </tr>
  <tr>
    <td>
      第2行第1列の内容
    </td>
    <td>
      第2行第2列の内容
    </td>
    <td>
      第2行第3列の内容
    </td>
  </tr>
</tbody>
</table>

ブラウザに表示される表は、

第1行第1列の内容 第1行第2列の内容 第1行第3列の内容
第2行第1列の内容 第2行第2列の内容 第2行第3列の内容

上記の例の様に、行要素<tr></tr>の中に、列要素 <td></td>が含まれるので、その入れ子構造に合わせて、タグをイ ンデント(書き始めの位置を一定桁だけ右側にずらすこと)をしておくと、HTML文 書を見ただけで、表の構造が分かりやすい

<><><> <><><>

罫線や表要素(セル)のレイアウト

表を作る上で、その見栄えに関する代表的なパラメータを示す。

属性名 役割
border 罫線幅 整数値(ピクセル)
cellspacing セル間隔 整数値(ピクセル)
cellpadding セル内容と縦罫線の間の空白 整数値(ピクセル)
width 表全体の幅
  • ブラウザ表示範囲に対するパーセンテージ
  • ピクセル数

段組としての表

段組とは、文章を横方向にグループとして分割することを意味する。表は、通常 罫線という線によって、表の要素を区切っているが、この罫線を見えなく (border=0)し、かつセル間の空白の幅をやや広くとることによって、

これは左段の文章です。これは左段の文章です。これは左段の文章です。これは左段の文章です。これは左段の文章です。これは左段の文章です。これは左段の文章です。これは左段の文章です。 これは中段の文章です。これは中段の文章です。これは中段の文章です。これは中段の文章です。これは中段の文章です。これは中段の文章です。 これは右段の文章です。これは右段の文章です。これは右段の文章です。 これは右段の文章です。これは右段の文章です。これは右段の文章です。

のように、文章を3段組にすることができる。ただし、通常のワードプロセッサ の段組のように、自動的に1段目(左端の段)からあふれる文章を2段目(真中の段) に流し込むことはできない。

WYSIWYGエディタを使う

表をイチイチ書くのは、タグの数も多く面倒臭いし、インデント(書き始 めの位置を右にずらすこと)に注意してタグを書いて行かないと、HTML文書そ のものから、どのような表がブラウザに現れるかを想像することは難しい。

そこで、WYSIWYGエディタ(ここでは、Netscape Communicator)を使用すると、比 較的簡単に、表の作成が可能である。

表計算ソフトの表をHTMLにする

Microsoft Excel においては、Excel2000 以降のバージョンより、ワークシート上 で作成した表をHTMLファイルとして出力することができる。

手順

  1. 作成した表の範囲をマウスでドラッグして選択する
  2. ファイル → 名前を付けて保存 を選択
  3. ファイルの種類を「Webページ (*.htm; *.html)」とする
  4. 上書き保存のチェックボックスから[選択範囲]をチェックする
  5. 保存するフォルダを選び、ファイル名を入力して、保存ボタンを押す
  6. ファイルのヘッダ部にある <script>と</script> で囲まれた 部分をscriptタグを含んだ状態で、表を掲載したいHTML文書のヘッダ部分に移す
  7. <table></table>で囲まれた部分を、tableタグを含んだ状態で、 表を掲載したいHTML文書のボディ部の適切な場所に移す

注意

このようにすると、見栄えをかなり細かく、かつ楽に設定して表を作成すること ができるが、IE 以外のブラウザを使ってブラウズすると、意図したとおりの見 栄えは期待できないので、一般性はあまりない。また、Excelによって作成され たHTMLの表は、タグやスタイルが肥大化しており、純粋にHTMLにしたがって作成 した表の何倍ものデータ量となり、ブラウズする際の転送時間もかなり長くなる。

しかし、既に作成されている複雑な表を、Webコンテンツとして再利用するには ラクな手法であるといえる。他の表計算ソフトも似たような機能を持っている。

本当は超多機能なHTMLの表

ここまでに説明したタグのみを使う限り、非常に単純な表しか作成できない。し かし実際には、HTMLにはもっと多くの表作成のためのタグや属性が用意されてお り、それらを使うことによって、より複雑な表作成も可能である。以下に示し たものは、その他の代表的なタグおよび属性である。

表作成のためのタグおよび属性
タグ属性属性の値役割
th-- 表の見出し要素(太字で表示される)
caption-- 表の注釈(タイトル)
td,thcolspan結合するセル数 列方向にセルを結合
rowspan結合するセル数 行方向にセルを結合

見やすい表のために

列間距離が開きすぎている表は、左右の項目の対応が取りにくい。また、 多くの行をもつ表の例 このような表は避けるべきである。16:30 東 京 行 JAL 1278 に間に合うバ スは、片町バス停を何時に出発するのか? 表を何度も上下にスクロールして、 すぐには答えられないだろう。見にくい表は、情報を分かりやすく伝えるため の手段という、表の意義をもはや失っている。このような表を見やすくするた めには、

  1. 1行あるいは1列おきに背景色を変える
  2. 列や行の数が少なくなるように表を分割する
  3. 行項目名や列項目名を行の右端と左端、あるいは1画面あたり1行繰り返 し記載する
  4. Javascript等を利用して、常に表の項目名が画面上端あるいは左端 に表示されるようにする
    例: NHK番組表