レスポンシブデザインでテーブルを横スクロールさせる方法
MENU
  1. HOME
  2. CSS / WEB制作
  3. レスポンシブデザインでテーブルを横スクロールさせる方法

最近の作業実績

  • 2022年10月18日不要になっていたコンテンツをサイト内から除去いたしました。
  • 2022年10月17日サイト内の画像が表示されない不具合を修正いたしました。
  • 2022年10月16日サイト内で発生した大量の404エラーを修正いたしました。
  • 2022年10月15日既存サイトの各所を簡単に更新できる機能を追加いたしました。
  • 2022年10月14日過去記事を定期的に自動ツイートする機能をテーマに実装いたしました。
  • 2022年10月13日サイト内の広告を一括管理できる機能をテーマに実装いたしました。
  • 2022年10月12日既存サイトのトップページを再構築いたしました。
  • 2022年10月11日クラシックエディターで管理されていたコンテンツをブロックエディターで再構築いたしました。
  • 2022年10月10日複数のサイトの更新情報を一括表示させる機能をテーマに実装いたしました。
  • 2022年10月09日WordPressの管理画面にオリジナルの管理ページを実装いたしました。
  • 2022年10月08日コンタクトフォーム7で構築されたフォームに確認画面とサンクスページを導入いたしました。
  • 2022年10月07日既存サイトのサーバー移管を担当いたしました。
  • 2022年10月06日フッターのレイアウトを再設計いたしました。
  • 2022年10月05日既存サイトのカラーを一括管理できる機能をテーマに実装いたしました。
  • 2022年10月04日新規ページを5ページ作成いたしました(デザイン込み)。
  • 2022年10月03日訪問者に閲覧履歴を表示する機能をテーマに実装いたしました。
  • 2022年10月02日ログインできなくなったWordPressを復旧いたしました。
  • 2022年10月01日オリジナルテーマの制作を担当いたしました。
  • 2022年09月30日破損していたテーマを修正いたしました。
  • 2022年09月29日アフィリエイト審査用のサイト立ち上げを担当いたしました。
  • このエリアには直近の制作実績を一部掲載しております。
  • 制作実績はリアルタイム反映ではありません。

レスポンシブデザインでテーブルを横スクロールさせる方法

この投稿は2019/09/15に加筆修正いたしました。

スマホ表示でテーブルを最適化するとき、扱いづらいテーブルが出てくるかと思います。そんなテーブルを横スクロールさせることで、簡単に最適化する方法をご紹介しています。横スクロールできることを伝えるテクニック付きです。

この記事は約 5 分で読めます。

レスポンシブデザインでテーブルを横スクロールさせる機会が多い

レスポンシブデザインでサイトを構築していると、スマホ表示の際、レイアウトに困ってしまうテーブルが出てきます。

複雑な料金表、複雑なスペック表などですね。
行や列が多いテーブルはレスポンシブデザインの場合、悩みの種の一つです。

対応方法は色々とあるのですが、最も簡単なのが【テーブルを横スクロールさせる】方法だと思います。

1-11-21-31-41-5
2-12-22-32-42-5
3-13-23-33-43-5
4-14-24-34-44-5

PCでこのコンテンツを見ている方は、ブラウザの横幅を小さくしてください。
スマホで見ている方は、コンテンツを横に動かしてみてください。

テーブルが横スクロールできますよね!

PCで見ている方は、テーブルの下部にスクロールバーが表示されているかと思います。
スマホで見た際は、このスクロールバーは表示されません。

このテーブルを横スクロールさせる方法ですが、覚えておくと本当に役立ちます。

横スクロールのやり方を見ていきましょう。

テーブルを横スクロールさせる方法

テーブルを横スクロールさせるのは、CSSのみで対応することが可能です。
例えば、以下のtableを横スクロールさせて見ましょう。

<table>
<tr>
<th>1-1</th>
<th>1-2</th>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
</tr>
<tr>
<td>3-1</td>
<td>3-2</td>
</tr>
<tr>
<td>4-1</td>
<td>4-2</td>
</tr>
</table>

まず、上記のtableタグを【divタグ】で囲ってやります。
今回は【test】というclassを付けて囲ってみます。

<div class="test">
<table>
<tr>
<th>1-1</th>
<th>1-2</th>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
</tr>
<tr>
<td>3-1</td>
<td>3-2</td>
</tr>
<tr>
<td>4-1</td>
<td>4-2</td>
</tr>
</table>
</div>

横スクロールさせたいテーブルを囲ったdiv要素に下記の2行(赤文字)を記述をします。
スマホ表示時に適応されるCSSセレクタに追記してください。

.test {
overflow: auto; /* 横スクロールバーを表示 */
white-space: nowrap; /* セル内にあるテキストの折り返しを禁止 */

}

これだけで、テーブルが横スクロールできるようになります。

【注意】テーブルの横幅が100%指定になっていると、横スクロールになりません。
横幅を100%にすると要素内に収まってしまうためです。

上記の場合、全てのテーブルが横スクロールになります。
特定のテーブルを横スクロールにしたい場合は、そのテーブルにCSSを追記してください。

例えば、IDセレクタが【test】のテーブルを横スクロールにする場合は、以下のような記述となります。

2行追記するだけでテーブルを横スクロールにできます。
簡単ですよね!

訪問者に横スクロールできると効果的に伝える方法

横スクロールできるテーブルをスマホで見たとき、スクロールバーが表示されていないため、単にテーブルが画面からはみ出しているように見えてしまいます。

これではユーザービリティがよろしくありません。
「このテーブルは横にスクロールできますよ~」と伝えてあげるのが親切というものでしょう。

この伝え方にも色々とあるかと思うのですが、私は以下の様にして訪問者に伝えています。
スマホから下記の表を確認してください(PCはブラウザの幅を縮小)。

1-11-21-31-41-5
2-12-22-32-42-5
3-13-23-33-43-5
4-14-24-34-44-5

スマホ表示の際、テーブルの下部に【※ このテーブルは横スクロールできます】と表示されます。
こうしておけば、横スクロールできることが一目瞭然です。

テーブルを囲っているdiv要素に擬似要素を設定してやります。
囲っているdiv要素のclassが【test】の場合は、以下の様になります。

.test:after {
content: "※ このテーブルは横にスクロールできます。";
}

表示させるテキストはご希望のもに変更してください。

まとめ

レスポンシブデザインでテーブルを横スクロールさせる方法をご紹介しました。

レスポンシブデザインで複雑なテーブルは頭を悩ませるやっかいなポイントです。
ですが、今回ご紹介した方法で横スクロールさせれば、簡単にレスポンシブに対応できます。

横スクロールできることを訪問者に伝えることも忘れないでください。

Wordpressのカスタマイズや不具合など
何かお困りのことはありませんか?

Wordpressに関連するあなたのお悩み、解決いたします。
次のような方は、お気軽にご相談下さい。

  • Wordpressサイトをカスタマイズしたいが、やり方が分からないで困っている。カスタマイズの知識が豊富な人に任せたい。
  • Wordpressサイトに不具合が発生したが、直し方が分からない。不具合の修正経験が豊富な人に任せたい。
  • 既存サイトにWordPressを導入したいが、やり方が複雑で自分ではできそうにもない。経験が豊富な人に任せたい。
  • WordPressがハッキングされたが修正の仕方が分からない。サイトを元通りにできる人を探している。
  • Wordpressで0からサイトを制作したいが、自分ではできそうにもない。プロにサイト制作を委託したい。

一つでも該当する方は、以下のフォームからお気軽にご相談下さい。

WordPressに関して今すぐ相談する

著者:takaya kondo

岡山在住のWordPress専門フリーランサーです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

コメントを残す

(必須)

CAPTCHA