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コードを適用するとスムーズにレスポンシブコーディングができるかと思います。

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

目次

関連記事

HTMLCSS プログラミング

flexbox(フレックスボックス)で横並びにした要素の線の重なりを無くす方法

2021.03.02
5310
WordPress プログラミング

【wordpress】全テンプレートページで使用可能なグローバル変数を定義する方法【簡単】

2022.02.23
5314
HTMLCSS プログラミング

【CSS】select(セレクト)要素の矢印を消して画像にする方法

2022.01.09
3113
WordPress プログラミング

カスタム投稿タイプのターム(カテゴリー)の初期設定を変更する方法

2022.04.01
3127