【入門編】dl/dt/ddを用いたグリッドレイアウトの実装 – HTML実践ガイド

「dl・dt・dd」って実はすごい!CSS Gridでスマートなリストを作ろう

Web制作を始めたばかりの頃、`

    `や`

  • `はよく使うけれど、「`dl`とか`dt`、`dd`って何に使えばいいの?」と迷うことはありませんか?

    実はこの3つのタグ、「見出し」と「中身」というペア関係を表現するのにめちゃくちゃ優秀なんです。例えるなら、メニュー表の「料理名」と「お値段」、あるいはプロフィールページの「項目」と「回答」のようなものですね。

    今回は、この「dl・dt・dd」という少し影の薄い(でも実は主役級の)タグを使って、CSS Gridという魔法の杖で、見栄えの良いグリッドレイアウトを作る方法を解説します。難しいコードは最小限に、一緒にステップを踏んでいきましょう!

    —

    1. まずは「dl・dt・dd」の役割を整理しよう

    これらは「記述リスト(Definition List)」と呼ばれます。

    • `
      `: 全体を囲む箱(リストの親)。
    • `
      `: 「見出し」や「項目名」(Term)。
    • `
      `: 「中身」や「解説」(Description)。

    HTMLを書くときは、こんなイメージです。

    名前
    田中 太郎
    職業
    フロントエンド・エンジニア

    これだけだと、ブラウザではただ縦に並ぶだけですよね。「これを横並びにして、スッキリ整列させたい!」という時に、CSS Gridの出番です。

    —

    2. CSS Gridで一瞬にして整列させる

    CSS Gridを使うと、親要素(`

    `)に対して「あなたはグリッドですよ」と伝えるだけで、子要素たちが整列してくれます。

    dl {
    display: grid;
    / 左側(dt)を100px、右側(dd)を残り全部の幅にする設定 /
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; / 縦の隙間を10px、横の隙間を20pxに /
    }

    dt {
    font-weight: bold; / 見出しを太字に /
    }

    これだけで、左に「項目名」、右に「中身」が綺麗に並びます。`1fr`というのは「残りのスペースを全部埋めてね」という便利な単位です。これを知っているだけで、レイアウトの苦労が半分以下になりますよ!

    —

    3. スマホで見たら「縦並び」にしたい!

    PCでは横並びがいいけれど、スマホの狭い画面では縦に並べたい……そんな時もCSS Gridなら簡単です。メディアクエリを使って、画面幅が狭いときだけ設定を上書きしてあげましょう。

    / PC用(画面幅が600px以上) /
    @media (min-width: 600px) {
    dl {
    display: grid;
    grid-template-columns: 150px 1fr;
    }
    }

    / スマホ用(画面幅が600px未満) /
    @media (max-width: 599px) {
    dt {
    margin-top: 15px; / 項目同士の間隔を少し空ける /
    }
    }

    スマホの時は`grid-template-columns`の設定を外すだけで、ブラウザは自動的に元の「縦並び」に戻ってくれます。余計なコードを書かなくていいのが、Gridの本当に素敵なところなんです。

    —

    4. つまずきやすいポイント:ここだけ気をつけて!

    「あれ、思った通りに動かないな?」と思ったときは、以下の2点をチェックしてみてください。

    1. `

    `と`

    `を交互に書いているか?

    • 基本は「dt・dd・dt・dd…」のペアです。もし`
      `だけが連続していても壊れることはありませんが、構造が崩れやすくなるので注意しましょう。

    2. ブラウザのデフォルトスタイルに注意

    • `
      `には、ブラウザによって最初から余白(マージン)がついていることがあります。もし「配置がズレるな?」と思ったら、CSSの最初で `dl { margin: 0; }` とリセットしてあげるとスッキリしますよ。

    —

    最後に:Web制作を楽しもう!

    「dl・dt・dd」と「CSS Grid」の組み合わせは、プロフィールやスペック表、FAQ(よくある質問)など、日常のあらゆる場面で活躍する「鉄板の組み合わせ」です。

    最初から完璧に書こうとしなくて大丈夫です。まずは今回のコードをコピーして、色を変えたり、幅を変えたりして遊んでみてください。「おっ、変わった!」という小さな成功体験が、一番の近道ですからね。

    もし分からないことがあっても、それはあなたが一つレベルアップする前触れです。またいつでも聞きに来てくださいね!応援しています!

コメント

タイトルとURLをコピーしました