Written by Kasumi

【簡単】tableタグをスマホでは縦並びにする方法【レスポンシブ】

二列組のtableタグをスマホでは縦並びにしたい。

またレスポンシブになるよう、デバイス幅によって可変するようにしたい。

本記事ではCSSを使い、このような悩みを解決します。

HTMLサンプル

<table>
  <tbody>
    <tr>
      <th>タイトル</th>
      <td>テキストテキスト</td>
    </tr>
  </tbody>
</table>

上記は二列組のtableタグ サンプルです。

thとtdが横並びにテーブル組される作りになります。

これをスマホ時、縦並び(thが上、tdが下)にしたいと思います。

CSSサンプル

@media screen and (max-width: 767px) {
table {
  display: block;
  width: 100%;
}
table tbody {
  display: block;
  width: 100%;
}
table tr {
  display: block;
  width: 100%;
}
table th {
  display: block;
  width: 100%;
}
}

スマホ時、縦並びにするCSSサンプルです。

まずメディアクエリでスマホのデバイスだけCSSを効かせるように指定します。

後は、table、tbody、tr、thにdisplay: block;、width: 100%;を指定してあげればOK。

これだけでテーブル要素をブロック要素に変更し、デバイス幅によって可変する縦並びテーブルレイアウトの完成です。

まとめ

スマホファーストでコーディングすると、PCコーディング時、縦並びから横並びにまた戻さなければいけないので、メディアクエリを使ってスマホだけ本記事で扱ったCSSコードを適用するとスムーズにレスポンシブコーディングができるかと思います。

以上で解説をおわります。

目次

関連記事

WordPress プログラミング

Yoast SEOのschema(スキーマ)設定を無効化する方法

2022.04.03
2153
HTMLCSS プログラミング

CSSを使って役物文字の間を詰める方法【font-feature-settingsを使おう】

2021.03.26
3154
PHP プログラミング

phpを使って、ヘッダーやフッターを共通パーツ化・インクルードさせる方法

更新日:2023.09.15
1182
HTMLCSS

CSSのhas擬似クラスを使って指定した要素の有無を判別する方法

2023.04.21
683