コピペ可!CSSだけでレスポンシブテーブルをつくろう

  • はてブ

こんにちは工藤です。
今回はレスポンシブのテーブルの組み方の1例をご紹介します。

PC表示の時はこんな感じです。

PC表示の時

img01

今回はちょっと扱いに困るthead部分について、こんな感じで表現してみます。

スマートフォン表示の時

img02

tbody内のtdの箇所に、theadの項目を表示させてみました。
ソースは下記のようになります。

ソースコード

html



css



style="display:block"
data-ad-client="ca-pub-4667789978705365"
data-ad-slot="9480048027"
data-ad-format="auto">


DEMO

ポイント

レスポンシブ時にtheadは非表示にします。
tbody内thとtdはブロック要素にして、幅を100%に設定します。
これでそれぞれ横に広がった状態になります。

theadを非表示にした代わりに、今回はtbody内tdにlabelで設定したtheadの項目名をcontentを使って表示させます。
:first-child等を使ってcontentに直接項目名を入れてもいいと思うのですが、時と場合によるかと思うのでその時は適宜調整してください。

tdの中のテキストはブロック要素にするため今回はpタグで括っておきます。
contentをfloatさせておくので、pタグはpaddingで文字数+隙間分設定します。
これで文字数が多い時にでも対応できるレスポンシブのテーブルが完成します。

テーブル内でpタグで括るのが煩わしければ、contentをブロック要素にして改行して表示させるのもありだと思います。
(というかスマホの表示領域を考えるとその方がよいかも)

割と簡単にできるので、どうぞ試してみてください。

工藤

執筆者: 工藤

日々勉強中です。どうぞよろしくお願いします。

株式会社8bit (エイトビット)

東京都渋谷区でWebサイト制作、Webシステム開発などを行っております。
キャンペーンサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

制作に関するご相談はお気軽にどうぞ

コンペ参加や相談ベースでもご相談承っております。

お問い合わせ