HTMLテーブルのcolspanとrowspanを完全ガイド!セル結合で表を自由自在に操ろう
生徒
「HTMLで表を作っているのですが、複数のマス目を一つに繋げるにはどうすればいいですか?」
先生
「それなら、colspanとrowspanという属性を使うと、簡単にセルを結合できますよ。」
生徒
「具体的にはどのように使うんですか?」
先生
「それでは、基本的な使い方を一緒に見ていきましょう!」
1. HTMLテーブルのセル結合とは?
HTMLで表を作る際には、tableタグの中にtrタグやtdタグという部品を使います。trは横一列の行を、tdは一つ一つのマス目であるセルを意味します。通常、表はきれいに整列したマス目で構成されますが、複雑な情報を表示したいときには、複数のマス目を合体させて大きな一つのマスを作る必要があります。この操作を「セル結合」と呼びます。例えば、カレンダーで土曜日と日曜日を一つにまとめたり、見出しを二行分に広げたりする際に非常に便利です。
2. colspanで横方向にセルを繋げる
colspan(コールスパン)は、横方向にマス目を繋げるための属性です。colはカラム(列)、spanはまたがるという意味です。例えば、一つの行の中で「三つ分の横幅を一つにしたい」という場合は、tdタグにcolspan="3"と記述します。これを使うことで、表の左側に見出しを大きく配置し、右側に詳細データを並べるようなレイアウトを簡単に作成できます。横に広げることで、情報の重要度を強調する効果もあります。
<table>
<tr>
<td colspan="2">横に2つ分繋がったセル</td>
</tr>
<tr>
<td>セル1</td>
<td>セル2</td>
</tr>
</table>
ブラウザ表示
3. rowspanで縦方向にセルを繋げる
rowspan(ロウスパン)は、縦方向にマス目を繋げるための属性です。rowは行を意味します。例えば、「縦に二行分を一つにしたい」という場合は、tdタグにrowspan="2"と記述します。これを利用すると、左側の列に見出しを置き、右側の列に複数の詳細情報を縦に並べてグループ化することができます。表全体を見やすく整理し、同じカテゴリーの情報を一目で関連付けられるようになるため、非常に実用的なテクニックです。
<table>
<tr>
<td rowspan="2">縦に2つ分繋がったセル</td>
<td>詳細A</td>
</tr>
<tr>
<td>詳細B</td>
</tr>
</table>
ブラウザ表示
4. 属性を組み合わせた高度なスタイル調整
colspanとrowspanは、同じテーブルの中で同時に使用することができます。これらを組み合わせることで、複雑なレイアウトの表を作成できます。例えば、最上部に大きな見出しを配置し、左側でカテゴリーを縦にまとめつつ、右側で詳細を横に広げるといった構成が可能です。ただし、結合する数と実際に用意するセルの数に矛盾が生じると、表の形が崩れてしまいます。どのセルを消して、どこを広げるのかを計算しながら記述するのがコツです。
<style>
table, td { border: 1px solid black; }
</style>
<table>
<tr>
<td rowspan="2">A</td>
<td colspan="2">B</td>
</tr>
<tr>
<td>C</td>
<td>D</td>
</tr>
</table>
ブラウザ表示
5. テーブルレイアウトの注意点とSEO
昔のWebサイトではデザインの配置(レイアウト)をテーブルで行うことが主流でしたが、現在はCSSという別の技術でレイアウトを整えるのが基本です。テーブルタグはあくまで「表データ」を表示するために使うべきです。検索エンジンも、テーブルは「数値や項目の比較データである」と認識します。セルの結合を多用しすぎると、検索エンジンが表の構造を正しく理解できなくなる可能性があります。そのため、セルの結合は表の中身を分かりやすくするための手段として適度に使用しましょう。
6. 初心者が陥りやすいミスと解決策
よくあるミスは、結合した後のセル数を考慮し忘れることです。例えば、1行目にcolspan="2"を指定した場合、その行には元々あったtdタグを一つ減らさないと、表の列がズレてしまいます。これはパズルと同じです。もし画面上で表が歪んで見えたら、HTMLコードを一度整理し、各行で使っているセルの合計数が合っているか数えてみてください。表のマス目を紙に書いてからコードを書くと、圧倒的にミスが減ります。
7. アクセシビリティとわかりやすい表
多くの人にとって見やすい表を作るためには、セル結合を活用しつつ、見出し(thタグ)を適切に使うことが重要です。見出しタグを使うことで、視覚に障害がある方や読み上げツールを使っている方にも、どこが項目の名前で、どこがデータなのかが伝わりやすくなります。colspanやrowspanを使う際は、単に形を整えるだけでなく、情報のグループ化という視点を持つことが、プロのコーダーへの第一歩となります。
<table>
<tr>
<th>項目名</th>
<th>詳細情報</th>
</tr>
<tr>
<td>名前</td>
<td>サンプル太郎</td>
</tr>
</table>
ブラウザ表示
8. モダンなCSSとの使い分け
テーブルタグでのデザイン調整には限界がありますが、Bootstrapのようなフレームワークを使うと、テーブル全体のスタイルを整えるのが非常に簡単になります。セルの結合はHTMLの構造で指定し、色や枠線、余白などの調整はCSSで行うという役割分担が基本です。HTMLは「情報の意味」を伝え、CSSは「見た目の美しさ」を整える。この役割分担を理解して書くコードは、読みやすく、修正も容易な、質の高いものになります。まずはシンプルな表から結合を練習してみましょう。
【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー
「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。
本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」と「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。
具体的なワークショップ内容と環境
【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。
【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。
この60分で得られる3つの技術資産
要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。
後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。
画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。
※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。
リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら