CSS

スマホにも対応したtableタグをテンプレートとして持っておくと便利

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

お店のサイトや企業のサイトでよく使われるtableタグ。表を表示する事は多々ありますよね。
会社概要や商品概要、スペック表示等々。

ただこのtableタグ、PCでは綺麗に表示できますがスマートフォンになると横幅を大きく超えたり、文字幅が極端に狭くなりとても見づらくなったりします。
今回ご紹介するCSSは、PCでは通常通り、スマートフォンでは横スクロールし表示するという方法です。

この方法は、私が良く使いテンプレートして使っているタグです。

レスポンシブ対応のtableタグ

html

まずは、htmlです。tableタグに任意のクラス名を付与し、外包するDIVタグにtable-scrollを付与します。

<div class="tbl_scroll">
<table class="tbl">
<tr>
<th>見出し</th>
<td>テキストテキストテキスト</td>
</tr>
<tr>
<th>見出し</th>
<td>テキストテキストテキスト</td>
</tr>
<tr>
<th>見出し</th>
<td>テキストテキストテキスト</td>
</tr>
</table>
</div>

CSS

CSSです。ここでは横幅を仮に500pxとします。この幅は任意数値となります、運営するサイトのページ幅をはみ出さない程度で指定してください。スマートフォンでもこの指定サイズ幅で表示となります。
また可読性を高めるため偶数行の背景色を変更し、th幅は改行させたくないので横幅を指定しております。この辺りは任意で。

.tbl {
border-collapse: collapse;
border: 1px solid #ccc;
width:500px; /* テーブル幅 */
}
.tbl tr:nth-child(odd){
background:#fafafa;
}
.tbl th {
background:#E5E5E5;
color:#222;
font-weight:bold;
border: 1px solid #ccc;
padding:5px;
width:50px; /* th幅 */
}
.tbl td {
border: 1px solid #ccc;
padding:5px;
}
.tbl_scroll {
overflow-x: auto;
white-space: nowrap;
}
/* スクロールバー */
.tbl_scroll::-webkit-scrollbar {
  height: 15px;
}
.tbl_scroll::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #eee;
}
.tbl_scroll::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #666;
}

表示確認

■PCの場合

■スマートフォンの場合

スマートフォンの場合、テーブル幅が機種の横幅を超える場合横スクロールが表示されます。下部のスクロールバーは少し太めに設定しておくとスクロールがあることがユーザーに伝わり易いですね。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

お問合せ

送信内容を確認したらチェックをして下さい。

コメントを残す

*