レスポンシブデザインでテーブルを横スクロールさせる方法
  • レスポンシブデザインでテーブルを横スクロールさせる方法
  • 記事公開:2018/05/17
  • 最終更新:2018/05/19

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

レスポンシブデザインでテーブルを横スクロールさせる機会が多い レスポンシブデザインでサイトを構築していると、ス ...

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

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

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

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

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

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: "※ このテーブルは横にスクロールできます。";
}

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

まとめ

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

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

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

この記事が気に入ったら【いいね】しよう!

あなたのWEBサイトをWordpressで
管理できるようにしませんか?

あなたのWEBサイトを見た目そのままでWordpress化いたします。
以下に興味のある方は、お気軽にご相談下さい。

  • あなたのWEBサイトを、Wordpressで運営できる様にいたします。ページの編集や追加も簡単に行えるようになります。
  • どの様な形式のサイト(例えば、アメブロ、MTサイトなど)でもWordPress化いたします。
  • Wordpress化でサイトのデザインが崩れるなどの心配は必要ありません。デザインもサイト構成もほぼ変わらない、高い再現率が自慢です。
  • 単にWordpress化するだけではありません。デザイン変更など+αの作業にも対応することも可能です。
  • 他案件との兼ね合いもありますが、最短即日であなたのサイトをWordpress化いたします。
  • 初心者でもWordpressが使えるよう、納品後に徹底的な操作サポートをご提供いたします。Wordpress化したけど操作できないと、あなたが頭を抱えることはありません。

興味のある方は、以下のリンクからチェックしてみてください。

詳細を確認する

現在、上記サービスは別ドメインで運用しております。
ドメインは異なりますが、わたしが提供させていただいているサービスです。

著者:takaya kondo

岡山在住のWebディレクターです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

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

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

  • 2017-07-22

    【レスポンシブ】デバイスの横幅で画像を切り替える方法

    サイトにアクセスしたデバイスの横幅で画像を切り替える方法をご紹介します。レスポンシブサイトで、PCとスマホで違う画像を表示させたい場合などに使えます。5分程度で実装できますので、興味のある方は参考にしてください。 記事を読む

  • 2015-11-09

    予想以上に簡単だった!YOUTUBE動画のサムネイルを取得する方法

    YOUTUBE動画のサムネイルを取得する方法をご紹介します。YOUTUBEの様々なサイズのサムネイルを取得したい方に向けたコンテンツです。2分後にはお好きなサイズのサムネイルを自由に取得できるようになります。 記事を読む

  • 2014-12-09

    CSSで背景を半透明にする方法

    「CSSで背景色を半透明する方法」をご紹介します。 記事を読む

  • 2015-11-11

    3コピペだけ!アクセスから一定期間で消えるボックスを設置しよう。

    アクセスから一定期間で消えるボックスを設置する方法をご紹介します。コピペだけで設置できますのでどなたでも設置可能です。このコンテンツを確認して頂ければ、3分後にはアクセスから一定時間経過で消えるボックスが設置できてしまいます。 記事を読む

  • 2015-11-19

    これで一発解決!固定ナビゲーションのページ内リンクのズレを解消

    固定ナビゲーションのページ内リンクがズレてしまう現象を解消する方法をご紹介します。固定ナビゲーションとページ内リンクを合わせて使うと、遷移する位置が思った場所よりズレしまうことがあります。そんな時の解決方法を2分程度で知ることができます。 記事を読む

コメントを残す


(必須)