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

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

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

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

WordPressのカスタマイズはお任せください。

WordPressのカスタマイズを格安で代行いたします。ご希望のカスタマイズがあればご相談ください。

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

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

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

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

1-1 1-2 1-3 1-4 1-5
2-1 2-2 2-3 2-4 2-5
3-1 3-2 3-3 3-4 3-5
4-1 4-2 4-3 4-4 4-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-1 1-2 1-3 1-4 1-5
2-1 2-2 2-3 2-4 2-5
3-1 3-2 3-3 3-4 3-5
4-1 4-2 4-3 4-4 4-5

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

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

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

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

まとめ

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

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

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

著者:takaya kondo

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

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

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

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

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

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

詳細を確認する

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

  • 2019/03/06

    知ってますか?画像サイズを親要素の横幅に収まるように可変させる最も簡単な方法

    デバイスの横幅に合わせて画像を拡大縮小させる方法をご紹介しています。CSSのみで対応する方法ですので、面倒なjsの設置やimgタグを書き換える必要もありません。参考にしてください。 記事を読む

  • 2019/05/28

    GOOGLEマップをレスポンシブに対応させる方法

    GOOGLEマップをレスポンシブに対応させる方法をご紹介します。GOOGLEマップは埋め込みコードを設置しただけはレスポンシブに対応していません。この記事を読めば3分でGOOGLEマップをレスポンシブに対応させることができます。 記事を読む

  • 2015/11/21

    チェックボックスを一括でチェックor解除する方法

    チェックボックスを一括でチェックor解除する方法をご紹介します。簡単な記述だけで一括チェックと解除を実装することができます。気になった方は2分間だけこのコンテンツを見てください。 記事を読む

  • 2019/03/06

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

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

  • 2015/10/18

    まとめて良かった!WEBデザインするときに参考になるデザインまとめサイトのまとめ

    WEBデザインの参考になる21の「デザインまとめサイト」をご紹介します。WEBデザインをする方には、役立つコンテンツかな~と勝手に思い込んでいます。WEBデザインの参考にしてください。 記事を読む

コメントを残す

(必須)

CAPTCHA