Web反響ラボ
ホームページ制作・WEB制作 | 福岡・北九州
Google検索「ホームページ制作 福岡」「ホームページ制作 北九州」上位表示中!
093-982-4223
平日 9:30 - 17:30
福岡県北九州市小倉南区星和台2丁目2-36-2
Web反響ラボ

Webサイト制作において、会社概要や料金表、スペック比較などで欠かせない「テーブル(表)」。しかし、画面幅の狭いスマートフォンでは、PCと同じレイアウトで表示すると、文字が読みづらかったり、表示が崩れやすく、ユーザーにストレスを与えてしまいがちです。
Googleのモバイルファーストインデックス(MFI)が主流の現代において、「スマホで見やすい表」を作ることはSEO対策としても非常に重要です。
本記事では、JavaScriptを使わずCSSだけで実装できるレスポンシブなtableの手法5選を紹介します。
目次 - Index -
10597文字
読み終わる時間の目安:約18分
PC向けに作られた大きな表をそのままスマホで表示すると、文字が小さくなったり、画面からはみ出したりしてしまいます。これは「モバイルフレンドリー」ではないと判断され、検索順位に悪影響を及ぼす可能性があります。
適切なレスポンシブ対応を行うことで、以下のメリットが得られます。
最も基本的かつ汎用性が高いのが、スマホ表示時に各セルを「縦並び」にする方法です。
通常、table要素はブラウザのデフォルト設定で display: table; となっていますが、これをメディアクエリで display: block; に上書きすることで、1列のカード型レイアウトのように変化させることができます。
| 活用シーン | 会社概要、お問い合わせフォームなど |
|---|---|
| メリット | 画面幅いっぱいに文字が表示されるため、読みやすい |

単に縦並びにするだけでは、「そのデータが何を意味するのか」が分からなくなってしまうテーブルもあります。そこで、CSSの疑似要素 ::before を使って、スマホ時のみ見出しを表示させる方法が有効です。
| 活用シーン | 縦並び型にする際、どのデータがどの項目か分かりづらくなる場合 |
|---|---|
| メリット | HTMLの構造を変えずにCSSだけで見た目を制御でき、保守性に優れている |

先程の疑似要素で見出しを表示する方法だと、「CSSに直接テキストを書くのは効率が悪い」という場合に最適なのが、data属性(カスタムデータ属性)を活用するのが便利です。
この方法は、SEO的な観点からもHTML構造を汚すことなく、動的なコンテンツ生成とも相性が良いため、現在の主流となっています。
| 活用シーン | ラベルと内容を確実に読ませたい場合 |
|---|---|
| メリット | どの項目に対するデータか常に明示されるため、ユーザーを迷わせない |

比較表やスペック表など、列を崩すと内容が分かりづらくなる複雑なデータに最適な方法です。親要素に overflow-x: auto; を指定するだけで、表の構造(データの相関関係)を維持したまま横スワイプで閲覧させることが可能です。
| 活用シーン | 項目数が多い料金表、比較表、スペック表など |
|---|---|
| メリット | 表の構造が崩れず、データの比較がしやすい |

横スクロールが必要な大きな表で、一番左の項目名を常に表示させておく方法です。スクロールしても「どの行のデータか」が常に分かるため、比較表やスペック表のユーザビリティが劇的に向上します。CSSの position: sticky; と left: 0; を組み合わせるだけで、複雑なJavaScriptなしで実装可能です。
| 活用シーン | 行数・列数ともに多い複雑な表 |
|---|---|
| メリット | スクロールしても「何のデータか」が常にわかる |

本記事では、CSSだけで完結するレスポンシブtableの代表的な方法を紹介しました。情報をカードのように見せる縦並び型や、データの相関関係を維持するスクロール型、そして利便性を飛躍させる固定型など、コンテンツの性質に合わせて最適な実装を選ぶことが重要です。
テーブルの表示崩れは単なる見た目の問題ではなく、ユーザーの離脱を招く重大なSEOリスクとなります。無理に情報を詰め込むのではなく、ユーザーがその表で何を知りたいのかを第一に考え、ストレスのない閲覧環境を構築しましょう。