1.表関連の要素
HTML文書の
表(テーブル)に
関わる要素を
まとめました。
表(テーブル)を表す要素があります。
表(テーブル)に関わる要素は、以下の各要素です。
- メタ
- メタデータ
コンテンツ - スク
- スクリプトを
サポートする要素 - フロー
- フロー
コンテンツ - 区分化
- セクショニング
コンテンツ - 起源
- セクショニング
ルート (廃止) - 見出し
- ヘディング
コンテンツ - フレー
- フレージング
コンテンツ - 埋込
- エンベデッド
コンテンツ - 対話型
- インタラクティブ
コンテンツ
要素 | 種類 | メ タ |
流 れ |
文 節 |
埋 込 |
対 話 |
知 覚 |
区 分 |
見 出 |
ス ク |
---|---|---|---|---|---|---|---|---|---|---|
table | 通常要素 | - | 〇 | - | - | - | 〇 | - | - | - |
caption | 通常要素 | - | - | - | - | - | - | - | - | - |
colgroup | 通常要素 | - | - | - | - | - | - | - | - | - |
col | 空要素 | - | - | - | - | - | - | - | - | - |
thead | 通常要素 | - | - | - | - | - | - | - | - | - |
tfoot | 通常要素 | - | - | - | - | - | - | - | - | - |
tbody | 通常要素 | - | - | - | - | - | - | - | - | - |
tr | 通常要素 | - | - | - | - | - | - | - | - | - |
th | 通常要素 | - | - | - | - | - | - | - | - | - |
td | 通常要素 | - | - | - | - | - | - | - | - | - |
2.テーブルとは
3.セル
1A | 1B | 1C |
2A | 2B | 2C |
3A | 3B | 3C |
表(テーブル)を構成する1つ1つの項目を、セル(Cell) と言います。
セルには、ヘッダーセルとデータセルがあります。それぞれth
4.行
一行 | 一行 | 一行 |
二行 | 二行 | 二行 |
三行 | 三行 | 三行 |
項目が左右, 横に並んだものを、行と言います。
行は、tr
5.列
一列 | 二列 | 三列 |
一列 | 二列 | 三列 |
一列 | 二列 | 三列 |
項目が上下, 縦に並んだものを、列と言います。
列は、col
一列 | 二列 | 三列 |
一列 | 二列 | 三列 |
一列 | 二列 | 三列 |
<table>
<caption>列</caption>
<colgroup>
<col>
<col style=
"background-color: ;"> <col>
</colgroup>
<tbody>
<tr>
<td>一列</td> <td>二列</td> <td>三列</td> </tr> <tr>
<td>一列</td> <td>二列</td> <td>三列</td> </tr> <tr>
<td>一列</td> <td>二列</td> <td>三列</td> </tr> </tbody>
</table>
列の要素での表現が コンテナ, 包括する要素ではないので、イメージしにくいので ソースコード の提示で表してみました。
個々のセルではなく またその祖先の要素(包括する要素)からの継承でもなく、col
尚 例示では、個々のセルを意識しやすくする為に、上下左右の罫線(border) の装飾を別途に指定しています。
<div class=
"ctaSample053"> <div>
<div>一列</div>
<div>一列</div>
<div>一列</div>
</div>
<div>
<div>二列</div>
<div>二列</div>
<div>二列</div>
</div>
<div>
<div>三列</div>
<div>三列</div>
<div>三列</div>
</div>
</div>
.ctaSample053 {
display: flex;
flex-flow: row wrap;
align-items: stretch;
justify-content: flex-start;
}
.ctaSample053 > * {
flex: 0 1 2.5em;
margin-right: 0.125em;
}
列を纏まりとして重視して、列ごとをボックスとして捉えた例示です。
6.気を付ける点
幅
幅は、セルの幅があって表(テーブル)の幅があるので注意が必要です。
境界線
セルが境界線を共有するか分離するかの設定は、td
テーブル, リスト
列, 行に意味があって表(テーブル)なので、並ぶだけなら一覧(リスト)の階層でul
行など片方だけに意味がある場合は、dl
一列目 | 二列目 | 三列目 |
一列目 | 二列目 | 三列目 |
一列目 | 二列目 | 三列目 |
<table class=
"ctaSample063"> <caption>列が不適切</caption>
<tbody>
<tr>
<td>一列目</td> <td>二列目</td> <td>三列目</td> </tr> <tr>
<td>一列目</td> <td>二列目</td> <td>三列目</td> </tr> <tr>
<td>一列目</td> <td>二列目</td> <td>三列目</td> </tr> </tbody>
</table>
.ctaSample063 > tbody > tr { display: flex; flex-wrap: wrap; }
.ctaSample063 td { border: 1px dotted; }
.ctaSample063 td:nth-child(3) { background-color: #ccffff; }
行を折り返す様に表す CSSで指定してみました。
HTMLでは行を全て表す時に、セル(項目)が各行で何番目であるかという事で、列を表しています。なので、行の中でセル(項目)の並びを折り返してしまうと、列が適切に描画されず表(テーブル)として不適切となります。