colspanとrowspanの違い
📝 問題の再掲
Q43: テーブルのセルを横方向に2つ結合する属性はどれですか?
選択肢: merge / span / colspan(正答) / rowspan
⚠️ よくある間違い
col = column(列)なのに「横方向」、row = 行なのに「縦方向」という点が混乱を招きます。「何をまたぐか」で考えるとわかりやすくなります。
📖 段階的な説明
ステップ1:名前を分解して理解する
- col-span = column(列)を span(またぐ)→ 複数の列にまたがる → 横に広がる
- row-span = row(行)を span(またぐ)→ 複数の行にまたがる → 縦に広がる
ステップ2:図で理解する
colspan="2" の場合(横に2列分):
┌────────────────┐
│ 結合セル │ ← 2列分の幅
└────────────────┘
rowspan="2" の場合(縦に2行分):
┌────┐
│ │ ← 2行分の高さ
│ │
└────┘
ステップ3:覚え方
「colspanは横長、rowspanは縦長」と覚えましょう。
💻 コード例
時間割表の例:
<table border="1">
<tr>
<th></th><th>月</th><th>火</th>
</tr>
<tr>
<td>1限</td>
<td colspan="2">全校集会</td> <!-- 横に2列分 -->
</tr>
<tr>
<td>2限</td>
<td rowspan="2">体育</td> <!-- 縦に2行分 -->
<td>英語</td>
</tr>
<tr>
<td>3限</td>
<!-- 体育が上から続いているので、ここは1セル少ない -->
<td>数学</td>
</tr>
</table>
🔗 関連知識
- 結合したセルの分だけ、その行の
<td>を減らす必要があります - 複雑な結合はCSSのGridレイアウトで代替することもあります
✅ 確認問題
Q: セルを縦方向に3行分結合する正しい書き方はどれ?
A: colspan="3" / B: rowspan="3"
答えを見る
B: rowspan="3"。縦方向(行をまたぐ)は rowspan です。colspan は横方向です。