HTMLのテーブルは、ウェブページにデータを整理して表示するための強力なツールです。テーブルを使うことで、情報を視覚的に整然と整理することができ、ユーザーにとって非常に見やすくなります。しかし、基本的なテーブルの使い方だけでは不十分です。実際には、HTMLのテーブルには多くの高度な機能が備わっており、これらを駆使することで、よりインタラクティブで魅力的なデータ表現が可能になります。

この記事では、HTMLテーブルの基本的な構造に加え、さらに進んだ使い方やテクニックについて詳しく説明します。

1. 基本的なHTMLテーブルの構造

まず、HTMLテーブルの基本的な構造について理解しておきましょう。基本的なテーブルは、

タグで囲まれ、行(

タグ)、セル(

タグ)で構成されます。

html
<table> <tr> <td>データ1td> <td>データ2td> <td>データ3td> tr> <tr> <td>データ4td> <td>データ5td> <td>データ6td> tr> table>

2. ヘッダー行の追加

テーブルにはヘッダーを追加することができ、これにより各列が何を表しているかが明確になります。

タグを使ってヘッダーセルを作成します。ヘッダーは通常太字で表示され、データセル(

タグ)とは区別されます。

html
<table> <tr> <th>名前th> <th>年齢th> <th>職業th> tr> <tr> <td>佐藤td> <td>30td> <td>エンジニアtd> tr> <tr> <td>鈴木td> <td>25td> <td>デザイナーtd> tr> table>

3. セルの結合(colspan と rowspan)

HTMLのテーブルでは、複数の列や行を結合して表示することができます。これにより、複雑なデータのレイアウトが可能になります。

  • colspanは、セルが横に何列分の幅を取るかを指定します。
  • rowspanは、セルが縦に何行分の高さを取るかを指定します。
html
<table> <tr> <th rowspan="2">名前th> <th>年齢th> <th>職業th> tr> <tr> <td colspan="2">職業情報td> tr> <tr> <td>佐藤td> <td>30td> <td>エンジニアtd> tr> table>

4. テーブルのスタイリング(CSS)

テーブルを視覚的に魅力的にするために、CSSを活用することが重要です。borderやpaddingを使用してセルの境界を明確にし、background-colorを使って色を変えることができます。

html
<style> table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 8px; text-align: center; } th { background-color: #f2f2f2; } style>

これにより、テーブルのデザインがシンプルでありながら、視覚的に美しくなります。

5. テーブルのインタラクション

HTMLテーブルを動的に操作するためには、JavaScriptを利用してテーブルをインタラクティブにすることが可能です。例えば、ユーザーがテーブル内の行をクリックすることで、その行のデータを強調表示したり、フィルタリングやソート機能を追加したりすることができます。

html
<script> function highlightRow(row) { row.style.backgroundColor = 'yellow'; } function resetRow(row) { row.style.backgroundColor = ''; } script> <table> <tr onmouseover="highlightRow(this)" onmouseout="resetRow(this)"> <td>佐藤td> <td>30td> <td>エンジニアtd> tr> <tr onmouseover="highlightRow(this)" onmouseout="resetRow(this)"> <td>鈴木td> <td>25td> <td>デザイナーtd> tr> table>

6. 固定ヘッダーとスクロール機能

長いテーブルでは、ヘッダーがスクロールとともに消えてしまうことがありますが、CSSを使ってヘッダーを固定し、スクロールしても常に表示されるようにすることができます。

html
<style> table { width: 100%; border-collapse: collapse; } thead { position: sticky; top: 0; background-color: #f2f2f2; } th, td { border: 1px solid black; padding: 8px; text-align: center; } style> <table> <thead> <tr> <th>名前th> <th>年齢th> <th>職業th> tr> thead> <tbody> <tr> <td>佐藤td> <td>30td> <td>エンジニアtd> tr> <tr> <td>鈴木td> <td>25td> <td>デザイナーtd> tr> tbody> table>

7. テーブルのアクセシビリティ

ウェブコンテンツのアクセシビリティを考慮すると、スクリーンリーダーがテーブルの内容を正確に理解できるようにすることが重要です。

タグを使ってテーブルにタイトルを追加したり、

タグを使って各セルを正しくラベル付けすることが推奨されます。

html
<table> <caption>社員情報caption> <tr> <th>名前th> <th>年齢th> <th>職業th> tr> <tr> <td>佐藤td> <td>30td> <td>エンジニアtd> tr> table>

8. レスポンシブテーブル

モバイルデバイスや小さな画面でテーブルを表示する際には、テーブルが画面に収まりきらなくなることがあります。CSSを使って、画面のサイズに応じてテーブルが自動的に調整されるようにすることが可能です。

html
<style> table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 8px; text-align: center; } @media (max-width: 600px) { table { width: 100%; display: block; overflow-x: auto; } } style>

まとめ

HTMLテーブルは非常に多機能であり、適切に活用することで、データを視覚的に魅力的に表示することができます。基本的なテーブルの構造を理解した上で、ヘッダーの追加やセルの結合、CSSでのスタイリング、インタラクションの追加、そしてアクセシビリティに配慮した設計を行うことが重要です。また、レスポンシブデザインを取り入れて、さまざまなデバイスに対応することも欠かせません。これらのテクニックを駆使すれば、ユーザーにとってさらに使いやすく、見やすいテーブルを提供することができます。

この読みものをシェア

LINE

気になる点を、教えてください。

誤りや古い情報、権利に関するご連絡はこちらから。

報告ページを開く
編集方針訂正ポリシー免責事項

読者からのご連絡

この記事の内容を報告する

気になる箇所を具体的にお知らせください。

文化(bunkao.com)のページURLを入力してください。

10〜10,000文字。パスワードや機微な個人情報は送信しないでください。

送信内容は公開されません。返信はサイト内で確認できます。送信後の確認リンクを保存してください。通常は受付から90日以内に削除します。

文化 / BUNKAO

Cookieとサービスのご案内

サイトの表示、安全な利用、記事広告、アクセス解析、天気情報についてご案内します。アクセス解析は任意で、選択はいつでも変更できます。

必要な保存・セキュリティ・配信

Cookie設定の保存、安全な表示、フォーム保護、ログインなどに使います。Cloudflareによる配信・防御と、CookieやlocalStorageを使わない表示性能の計測も含みます。

常に使用

記事ページの広告

個別の記事だけでGoogle AdSense広告を読み込みます。ホーム、固定ページ、カテゴリー、検索結果などでは読み込みません。この設定にかかわらず記事ページで使用します。

記事のみ

より読みやすいサイトづくりのため、同意いただいた場合にMatomoでページの閲覧状況や利用環境を確認します。

天気情報・外部リンク

天気情報は、選択した都市の気象庁データをBUNKAOのサーバー経由で取得します。端末の現在地は取得しません。外部リンクを開いた後は、リンク先の方針が適用されます。

位置情報なし

選択はこのブラウザーに180日間保存します。いつでも画面下の「Cookie設定」から変更できます。

Cookie・外部サービスについて / プライバシーポリシー