テーブル(表)についてです。
関連テーブルは、<table>タグを用い <table>はテーブル(表)を作成するタグです。 テーブル(表)の基本は、<table>〜</table>。 その内に表の横一行を<tr>〜</tr>で定義します。 さらにそのにセル(<td>〜</td>)を定義します。
<table> 〜 </table> | ・・・テーブル |
<tr> 〜 </tr> | ・・・1行 |
<td> 〜 </td> | ・・・セル |
table要素のborder属性は線の太さです。この属性を記述しないときは枠線が描かれません。
または、0を指定すると枠線が描かれません。HTML5 では 1 のみ指定可能で、太さはスタイルシートを用います。
また、borderはスタイルシートに入れると若干意味が違い、表示も変わってしまいますので注意してください。
これについては、別途詳細を記述する予定です。
border | ・・・線の太さ |
<table border=
"1">
<tr>
<td>ホームページ作成講座</td><td>タイトル</td>
</tr>
<tr>
<td>STEP 1</td><td>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<td>STEP 2</td><td>見出し</td>
</tr>
</table>
ホームページ作成講座 | タイトル |
STEP 1 | HTMLファイルとCSSファイル |
STEP 2 | 見出し |
セルは、<td>〜</td>のほかに、
見出しを定義するヘッダセル(<th>〜</th>)を使用することができます。
<td>〜</td>セルはヘッダセルに対して、データを定義するデータセルといいます。
ヘッダセル内のテキストは、一般的なブラウザでは太字でセンタリングされて表示されます。
<th> 〜 </th> | ・・・ヘッダセル |
<td> 〜 </td> | ・・・データセル |
<table border=
"1">
<tr>
<th>ホームページ作成講座</th><th>タイトル</th>
</tr>
<tr>
<th>STEP 1</th><td>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<th>STEP 2</th><td>見出し</td>
</tr>
</table>
ホームページ作成講座 | タイトル |
---|---|
STEP 1 | HTMLファイルとCSSファイル |
STEP 2 | 見出し |
味気ないので、色をつけてみましょう。スタイルシートを使用します。
ソースコード(CSS)
table.sample1 {
border-collapse: collapse;
}
table.sample1 th {
background-color: #FFFF99;
color: blue;
}
table.sample1 td {
background-color: #CCFF99;
}
border-collapseプロパティはセルボーダーを重ねて表示するか間隔をあけるかを指定します。
collapse | ・・・隣接するセルボーダーを重ねて表示 |
separate | ・・・隣接するセルボーダーを間隔をあけて表示(IE8、9ではデフォルト) |
background-colorプロパティでバックグラウンドの色、colorプロパティで文字の色を指定しました。
<table
border=
"1"
class=
"sample1"
>
<tr>
<th>ホームページ作成講座</th><th>タイトル</th>
</tr>
<tr>
<th>STEP 1</th><td>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<th>STEP 2</th><td>見出し</td>
</tr>
</table>
ホームページ作成講座 | タイトル |
---|---|
STEP 1 | HTMLファイルとCSSファイル |
STEP 2 | 見出し |
テーブルの行を、ヘッダ、フッタ、ボディに分けることができます。
これによってヘッダとフッタを固定したまま、ボディのみをスクロールすることが可能ですが、対応ブラウザは少ないようです。
それよりは、スタイルシートを適用するために使用することのほうが多いのではないでしょうか。
<thead> | ・・・ヘッダ |
<tbody> | ・・・ボディ |
<tfoot> | ・・・フッタ |
ヘッダとフッタを先読みして表示するために、<tbody> よりも <tfoot> の方を先に記述しなくてはなりません。 そのため、対応していないブラウザでは実際の表示順序が<tbody> と <tfoot>が逆になることに注意が必要です。
ソースコード(CSS)
table.sample1 {
border-collapse: collapse;
}
table.sample1 th {
background-color: #FFFF99;
color: blue;
}
table.sample1 td {
background-color: #CCFF99;
}
table.sample1 thead th {
background-color: #13039C;
color: white;
}
table.sample1 tfoot th, tfoot td {
background-color: #999999;
}
<table
border=
"1"
class=
"sample1"
>
<thead>
<tr>
<th>ホームページ作成講座</th><th>タイトル</th>
</tr>
</thead>
<tfoot>
<tr>
<th>STEP 3〜</th><td>ホームページを参照</td>
</tr>
</tfoot>
<body>
<tr>
<th>STEP 1</th><td>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<th>STEP 2</th><td>見出し</td>
</tr>
</body>
</table>
ホームページ作成講座 | タイトル |
---|---|
STEP 3〜 | ホームページを参照 |
STEP 1 | HTMLファイルとCSSファイル |
STEP 2 | 見出し |
テーブルの見出しは、<caption>タグを使います。
<caption> | ・・・テーブルの見出し |
<table
border=
"1"
class=
"sample1"
>
<caption>ホームページ作成講座</captionh>
<thead>
<tr>
<th>ステップ</th><th>タイトル</th>
</tr>
</thead>
<tfoot>
<tr>
<th>STEP 3〜</th><td>ホームページを参照</td>
</tr>
</tfoot>
<body>
<tr>
<th>STEP 1</th><td>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<th>STEP 2</th><td>見出し</td>
</tr>
</body>
</table>
ステップ | タイトル |
---|---|
STEP 3〜 | ホームページを参照 |
STEP 1 | HTMLファイルとCSSファイル |
STEP 2 | 見出し |
表の幅はwidth属性、位置(横)はalign属性で中央表示/左端表示/右端表示ができます。
縦の位置はvalign属性で指定します。
これらは、セル単位での指定も可能です。
width | ・・・表の幅 | ||
align | ・・・テーブルの位置(横) | ||
center: | 中央表示 | ||
left: | 左端表示 | ||
right: | 右端表示 | ||
valign | ・・・テーブルの位置(縦) | ||
middle: | 中央表示 | ||
top: | 上揃え | ||
bottom: | 下揃え |
<table
border=
"1"
width=
"400"
align=
"center"
class=
"sample1"
>
<caption>ホームページ作成講座</captionh>
<thead>
<tr>
<th>ステップ</th><th>タイトル</th>
</tr>
</thead>
<tfoot>
<tr>
<th>STEP 3〜</th><td>ホームページを参照</td>
</tr>
</tfoot>
<body>
<tr>
<th>STEP 1</th><td>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<th>STEP 2</th><td>見出し</td>
</tr>
</body>
</table>
ステップ | タイトル |
---|---|
STEP 3〜 | ホームページを参照 |
STEP 1 | HTMLファイルとCSSファイル |
STEP 2 | 見出し |
セルの幅はwidth属性、横の位置はalign属性、縦の位置はvalign属性で指定できますが、 スタイルシートで指定したほうが良いでしょう。
width | ・・・セルの幅 %、em、exやpxなどの単位で指定 | ||
height | ・・・セルの高さ | ||
text-align | ・・・横方向の揃え位置 | ||
center: | 中央表示 | ||
left: | 左端表示 | ||
right: | 右端表示 | ||
vertical-align | ・・・縦方向の揃え位置 | ||
baseline: | ベースライン | ||
top: | 上揃え | ||
bottom: | 下揃え |
paddingプロパティを使って、余白の調整もできます。
table.sample2 th {
width: 120px;
text-align: center;
vertical-align: babaseline;
}
table.sample2 td {
height: 30px;
padding-left: 20px;
}
<table
border=
"1"
width=
"400"
align=
"center"
class=
"sample1 sample2"
>
<caption>ホームページ作成講座</captionh>
<thead>
<tr>
<th>ステップ</th><th>タイトル</th>
</tr>
</thead>
<tfoot>
<tr>
<th>STEP 3〜</th><td>ホームページを参照</td>
</tr>
</tfoot>
<body>
<tr>
<th>STEP 1</th><td>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<th>STEP 2</th><td>見出し</td>
</tr>
</body>
</table>
ステップ | タイトル |
---|---|
STEP 3〜 | ホームページを参照 |
STEP 1 | HTMLファイルとCSSファイル |
STEP 2 | 見出し |
colspan属性 rowspan属性を使って結合セル数を指定することにより、 横方向・縦方向のセルの結合ができます。
colspan | ・・・横方向に連結 |
rowspan | ・・・縦方向に連結 |
<table
border=
"1"
width=
"500"
align=
"center"
class=
"sample1"
>
<caption>ホームページ作成講座</captionh>
<thead>
<tr>
<th>ステップ</th><th>タイトル</th><th>タイトル2</th>
</tr>
</thead>
<tfoot>
<tr>
<th>STEP 3〜</th><td>ホームページを参照</td><td>左に同じ</td>
</tr>
</tfoot>
<body>
<tr>
<th
rowspan=
2
>STEP 1、2</th><td
colspan=
2
>HTMLファイルとCSSファイル</td>
</tr>
<tr>
<td>見出し</td><td>見出し2</td>
</tr>
</body>
</table>
ステップ | タイトル | タイトル2 |
---|---|---|
STEP 3〜 | ホームページを参照 | 左に同じ |
STEP 1、2 | HTMLファイルとCSSファイル | |
見出し | 見出し2 |
属性とスタイルシートの対応については、ACQUA MINERALEさんの tableの属性とスタイルシートの対応表を参照してください。