HITP 広島工業大学専門学校

ホームページの基礎(1. XHTML 編)

← 1.23 テーブル  目 次  1.25 サンプルの作成 →

  1. 1.24 複雑なテーブル
    1. 1.24.1 列をまたぐテーブル
    2. 1.24.2 行をまたぐテーブル
    3. 1.24.3 行と列をまたぐテーブル

1.24 複雑なテーブル

単純なテーブルについては,前回学習しましたが,ここでは,もう少し複雑なテーブルについて学習しましょう。

1.24.1 列をまたぐテーブル

これまでのテーブルは,m行×n列となるテーブル形式でした。しかし,この形式では表現できないテーブルもあります。例えば,次のような形式のテーブルは,これまでのマークアップでは表現できません。

列をまたぐテーブル

これまで学習したマークアップの方法では,すべての行の列数は同じでなければなりませんでした。しかし,例示の表の場合,2行目と3行目に複数列にまたがるセルが存在し,各行の列数が同一になりません。

では,このような表の場合,どのように考えればよいのでしょうか?それには列をまたぐセルにそのまたぐ列数を指定することで解決します。この指定にはth要素およびtd要素のcolspan属性を使用します。

<th colspan="列数">
<td colspan="列数">

例の場合では,2行1列目のセルが2列にまたがり,3行2列目のセルが2列にまたがっていると考えます。では,実際に先のテーブルのマークアップをしてみましょう。

<table border="1">
    <tr>
        <td>セル1-1</td><td>セル1-2</td><td>セル1-3</td></tr>
    <tr>
        <td colspan="2">セル2-1</td><td>セル2-3</td></tr>
    <tr>
        <td>セル3-1</td><td colspan="2">セル3-2</td>
    </tr>
    <tr>
        <td>セル4-1</td><td>セル4-2</td><td>セル4-3</td>
    </tr>
</table>

1.24.2 行をまたぐテーブル

列をまたぐテーブルの他に行をまたぐ形式のテーブルもあります。例えば,次のような形式のテーブルも,これまでのマークアップでは表現できません。

行をまたぐテーブル

では,このような形式の表の場合,どのように考えるのでしょうか?これも列の場合と同様に行をまたぐセルにそのまたぐ行数を指定することで解決します。この指定にはth要素およびtd要素のrowspan属性を使用します。

<th rowspan="行数">
<td rowspan="行数">

例の場合では,2行1列目のセルが2行にまたがり,3行3列目のセルが2行にまたがっていると考えます。は,実際に先のテーブルのマークアップをしてみましょう。

<table border="1">
    <tr>
        <td>セル1-1</td><td>セル1-2</td><td>セル1-3</td>
    </tr>
    <tr>
        <td rowspan="2">セル2-1</td><td>セル2-2</td><td>セル2-3</td>
    </tr>
    <tr>
        <td>セル3-2</td><td rowspan="2">セル3-3</td>
    </tr>
    <tr>
        <td>セル4-1</td><td>セル4-2</td>
    </tr>
</table>

1.24.3 行と列をまたぐテーブル

これまでの例では,列と行をまたぐテーブルの書き方についてみてきました。これを応用すれば,行と列双方をまたぐテーブルも記述することができます。例えば,次のような形式のテーブルについて考えてみましょう。

行と列をまたぐテーブル

この表の場合,どのように考えるのでしょうか?これも列,行の場合と同様に列,行をまたぐセルにそのまたぐ列数,行数を指定することで表を作成します。この指定にはth要素およびtd要素のcolspan属性rowspan属性を併用します。

<th colspan="列数" rowspan="行数">
<td colspan="列数" rowspan="行数">

例の場合では,2行1列目のセルが3行2列にまたがっていると考えます。では,実際に先のテーブルのマークアップをしてみましょう。

<table border="1">
    <tr>
        <td>セル1-1</td><td>セル1-2</td><td>セル1-3</td>
    </tr>
    <tr>
        <td>セル2-1</td><td colspan="2" rowspan="3">セル2-2</td>
    </tr>
    <tr>
        <td>セル3-1</td>
    </tr>
    <tr>
        <td>セル4-1</td>
    </tr>
</table>
(C)Copyright 2010 HIROTAKA.YAMASHITA. HITP 広島工業大学専門学校. All Rights Reserved.