HTML初心者にとって「リスト」といえばUL(箇条書き)かOL(番号付き)になるかと思いますが、もう1つ、定義リストというタグがあります。
Definition Listのイニシャルを取って<dl>タグとなっています。
普通のリストであればULタグ、番号付きリストの場合はOLタグを使いますが、その構造は極めてシンプルなものです。
<ul>
<li>ホニャララ</li>
<li>ホニャララ</li>
<li>ホニャララ</li>
</ul>
まず「ここからここまでをリスト化するよ」という宣言のため、リスト全体を<ul>タグで囲みます。
次に「ここからここまでで項目ひとつだよ」という宣言のため、リストの項目1つ1つを<li>タグで囲みます。
たったこれだけ。
番号付きリストの場合、<ul>部分が<ol>と置き換わるだけです。
<ol>
<li>ホニャララ</li>
<li>ホニャララ</li>
<li>ホニャララ</li>
</ol>
こんなふうになりますよね。
ところが定義リスト<dl>タグはもう1つセンテンスを持っています。
<dl>
<dt>名前</dt>
<dd>説明<dd>
</dl>
このように、リスト領域を定義する<dl>タグの中に<dt>と<dd>タグの2つを表記できます。
また定義リストの便利な点として、内側の2つのタグは両方必須ではない、という部分も覚えておきましょう。
<dl>
<dt>名前</dt>
<dd>説明<dd>
<dt>名前</dt>
<dd>説明<dd>
<dd>説明<dd>
</dl>
こんなふうに、1つのdlの中に複数の組み合わせを入れたり、ddが何個か続いてもいいんです。リストタグでありながら<table>に近い特徴を持っていると捉えることもできるかもしれませんね。
定義リストはいわゆるQ&Aのように、リストのそれぞれ(DTとDD)に異なる意味を持たせられるところが特徴です。
「これは(DT)」「こういうものだよ(DD)」という構造をリストアップ形式で表示できるので、その用途で使うのが好ましいと思います。
たとえば、テクノロジー観測所ではソースコードの表示を行う時に定義リストを使っています。
<dl class="simple_style">
<dt>HTML部分</dt>
<dd>
<pre><code>
<!-- ここにソースコードを記述 -->
</code></pre>
</dd>
</dl>
<pre><code>タグにCSSが入るので緑色のボーダーや背景色などがつきます。
<ul><ol>タグを使う場合、項目の間に補足を加えることは困難です。
<ul>
<li>しょうゆ1L</li>
<li>無洗米1キロ</li>
<li>卵1パック</li>
<li>豆腐2パック</li>
</ul>
このようなリストを作ったとします。
<ul>タグを使う場合、項目に補足説明をつける時は次のようにマークアップすることになるはずです。
<ul>
<li>しょうゆ1L
<ul>
<li>このメーカーのものにする</li>
</ul>
</li>
<li>無洗米1キロ
<ul>
<li>このメーカーのものにする</li>
</ul>
</li>
<li>卵1パック
<ul>
<li>タイムセールが終わってたら買わない</li>
</ul>
</li>
<li>豆腐2パック
<ul>
<li>木綿1、絹1</li>
</ul>
</li>
</ul>
このように、<li>の中に<ul>を入れ子にします。
するとこのように、1段下がったリストが挿入されます。
ただ、補足説明という意味では<dl>タグを使ったほうがいい場合もあります。
<dl>
<dt>しょうゆ1L</dt>
<dd>このメーカーのものにする</dd>
<dt>無洗米1キロ</dt>
<dd>このメーカーのものにする</dd>
<dt>卵1パック</dt>
<dd>タイムセールが終わってたら買わない</dd>
<dt>豆腐2パック</dt>
<dd>木綿1、絹1</dd>
</dl>
このように記述します。
「説明」の役割を持った<dd>タグがあるため入れ子にする必要がなく、シンプルに記述できます。
また定義リストは標準でプレフィックス(接頭辞)を持たないことが多いので、スタイルの指定をしなくても項目の頭に何も付きません。
<ul style="list-style-type:none;">とか書くのが面倒な場合にも使えます。
最終変更時間: 2024年4月5日 11:59 AM