ミギムキ

[CSS] dlリストをdtとddの高さが揃ったテーブル形式で表示したい

高さが揃ったテーブル

サンプルコード

html

<dl class="list_table"> <dt>サンプル</dt> <dd>サンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプル</dd> <dt>サンプル</dt> <dd>サンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプルサンプル</dd> <dt>サンプルサンプルサンプルサンプル</dt> <dd>サンプル</dd> </dl>

CSS

.list_table, .list_table > dt, .list_table > dd { box-sizing: border-box; } .list_table > dt, .list_table > dd { padding: 1em; margin: 0px; } .list_table > dt { background-color: #3388dd; color: #fff; } .list_table > dd { background-color: #fff; } @media screen and (max-width: 767px) { .list_table > dd { border: 1px solid #ddd; border-top: none; } .list_table > dt, .list_table > dd { text-align: center; } .list_table > dd > ul { text-align: left; } } @media print, (min-width: 768px) { .list_table { display: flex; flex-wrap: wrap; border-bottom: 1px solid #ddd; } .list_table > dt, .list_table > dd { display: flex; flex-direction: column; justify-content: center; border-top: 1px solid #ddd; } .list_table > dt { width: 20%; } .list_table > dd { width: 80%; border-right: 1px solid #ddd; } }

仕組み、解説、補足など

モバイル表示

テーブルのモバイル表示
  • モバイル表示時には見出しと内容を縦並びにしてレスポンシブ対応します

変更履歴

2020/6/28

  • モバイル表示用のCSSを微修正、キャプチャー画像を追加しました

2020/3/9

  • 2020/3/9:導入文にありました下記一文を削除しました(筆者の理解不足による誤った説明となっていたため)
    • シンプルな2列のテーブルを書くとき、dlタグを使った定義リストにするのがセマンティックな書き方になります

ご質問など受け付けています

記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。

ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。