SHU BLOG

News

BLOG NEWS

TITLE

【HTML】dl・dt・ddタグの使い方を解説!定義リストの書き方とCSSで横並びにする方法

SHU[シュウ]

1991年生まれ九州の宮崎県育ち
高校卒業後、愛知県で自動車関係の
お仕事に5年間勤め、WEB業界に
転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画
基本インドアです!

サーバーとドメインの同時取得で.jpが無料

シュウ
シュウ
今回は「HTML【dl・dt・dd】タグの使用方法について」解説いたします。

  • HTMLの基本タグを学習している方
    dl・dt・ddタグの意味や書き方を、基礎から理解したい方です。
  • お知らせや会社概要を作成したい方
    日付とタイトルを横並びにしたリストや、項目と内容が対になった表を作りたい方です。
  • CSSで定義リストをデザインしたい方
    dtとddを横並びにしたり、背景色やボーダー線で装飾したりする方法を知りたい方です。

dlタグ(定義リスト)とは

dlタグ定義リストとは

<dl>(definition list)は、用語とその説明をセットで表示する「定義リスト」を作成するタグです。
リスト項目は<dl>〜</dl>の間に、<dt>と<dd>を組み合わせて記述します。

お知らせの「日付とタイトル」や、会社概要の「項目と内容」など、対になる情報を表現したいときに使用します。

dt・ddタグとは

dt・ddの使用方法について

定義リストは、次の3つのタグで構成されます。

●①dl(definition list)
定義リスト全体を囲むタグです。
●②dt(definition term)
定義する用語(見出し)を表示するタグです。
●③dd(definition description)
用語の説明(内容)を表示するタグです。

dtタグについて

dt要素は、定義する用語を表示します。
dl要素の中でのみ使用できます。

dtタグに入れられるタグ

div / dl / ul / ol / p / a / img / span / strong / em / table / iframe など

dtの中には、見出し(h1〜h6)やセクション系のタグは入れられません。

ddタグについて

dd要素は、定義する用語の説明を表示します。
dl要素の中でのみ使用でき、dt要素と組み合わせて定義リストを記述します。

ddタグに入れられるタグ

div / h1 / h2 / h3 / h4 / h5 / h6 / dl / ul / ol / li / p / a / img / span / strong / em / table / iframe など

dl・dt・ddの使用方法について

dl・dt・ddの使用方法について

<dl>で全体を囲み、<dt>に「定義する用語」、<dd>に「用語の説明」を入れます。
シンプルでとても簡単ですね。書き方は以下のようになります。

<dl>
	<dt>定義する用語を入れます</dt>
	<dd>定義する用語の説明を入れます</dd>
</dl>
●①dlで全体を囲む
dlが定義リスト全体の入れ物になります。
●②dtに用語を入れる
dtには、説明したい用語や項目名を記述します。
●③ddに説明を入れる
ddには、dtの用語に対する説明や詳細を記述します。

dtに対して複数のddを使用する方法

1つの用語に対して説明が複数ある場合は、dd要素を複数記述します。

<dl>
	<dt>ホームページ制作で使用される主な言語</dt>
	<dd>HTML</dd>
	<dd>CSS</dd>
	<dd>jQuery</dd>
</dl>
●①dtは1つ
説明の対象となる用語を、1つだけ記述します。
●②ddを複数記述
1つのdtの後ろに、ddを必要な数だけ並べられます。

複数のdtに対して複数のddを使用する方法

dtに定義する用語が複数ある場合は、dtとddをセットで繰り返し記述します。

<dl>
	<dt>headタグについて</dt>
	<dd>head内には主に、タイトル、CSSファイル、JSファイルなどを記述します。</dd>

	<dt>metaタグについて</dt>
	<dd>言語の設定、ページの説明(description)を設定します。</dd>

	<dt>titleタグについて</dt>
	<dd>ブラウザのタブに表示されます。SEOにも大きな影響を与えます。</dd>
</dl>
●①dtとddをセットで記述
用語(dt)の直後に、その説明(dd)を記述します。
●②セットを繰り返す
同じ形式で繰り返すことで、1つのdlの中に複数の項目を並べられます。

See the Pen
wvaqEdW
by shu (@shu0325)
on CodePen.

このように、dt要素とdd要素は初期状態では改行されて表示されます。
横並びにする場合は、CSSで調整します。

CSSで横並びにする

CSSで横並びにする

dtとddを横並びにする

まずは、日付と天気を横並びにするHTMLです。

<dl>
	<dt>2020.03.01</dt>
	<dd>今日の天気は晴れ</dd>

	<dt>2020.03.02</dt>
	<dd>今日の天気は雨</dd>

	<dt>2020.03.03</dt>
	<dd>今日の天気は曇り</dd>
</dl>

次に、CSSでdtとddを左寄せにして横並びにします。

dl {
	overflow: hidden;
}

dt {
	float: left;
	clear: left;
}

dd {
	float: left;
	margin-left: 1em;
}
●①float: left;
dtとddを左寄せにして、横に並べます。
●②clear: left;
dtに指定することで、次の項目が新しい行から始まるように回り込みを解除します。
●③overflow: hidden;
floatで浮いた子要素の高さを、親のdlに反映させます。

See the Pen
WNvEmwW
by shu (@shu0325)
on CodePen.

今回は、float: left;で左寄せし、clear: left;で後続の回り込みを解除しています。

dtとddを横並びにしボーダー線を引く

項目ごとにボーダー線を引く場合は、dtとddのセットをdivで囲みます。

<dl>
  <div>
    <dt>2020.03.01</dt>
    <dd>今日の天気は晴れ</dd>
  </div>

  <div>
    <dt>2020.03.02</dt>
    <dd>今日の天気は雨</dd>
  </div>

  <div>
    <dt>2020.03.03</dt>
    <dd>今日の天気は曇り</dd>
  </div>
</dl>
●①divでセットを囲む
dtとddをdivでまとめることで、1項目ごとにスタイルを指定できます。
●②divにborder-bottomを指定
dtやddに直接ボーダーを指定すると、marginがある場合に隙間ができてしまいます。divに指定すると、線が途切れず綺麗に表示されます。

See the Pen
poJrBWr
by shu (@shu0325)
on CodePen.

結果として、ボーダー線を引く場合はdivで囲む方法がおすすめです。

dtとddを横並びにし背景色を入れる

See the Pen
MWwvMXe
by shu (@shu0325)
on CodePen.

今回は、dt要素とdd要素にwidthを指定し、その後background-colorなどで装飾しています。

dlを横並びにする

See the Pen
mdJMNKJ
by shu (@shu0325)
on CodePen.

今回は、dl要素にwidthを指定し、その後background-colorなどで装飾しています。

dl・dt・ddをよく使用する場所

dl・dt・ddをよく使用する場所

dl・dt・ddの基本的な使用方法を説明してきました。
では、実際にどのような場所で定義リストが使われているのか、いくつか紹介します。

最新情報やお知らせで使用する

dt要素に日付、dd要素に最新情報やお知らせのタイトルを入れています。

See the Pen
qBdPBam
by shu (@shu0325)
on CodePen.

コードを見る

dl div{
  border-bottom: solid 1px #f1f1f1;
  overflow: hidden;
  font-size: 14px;
}

dt {
	float: left;
	clear: left;
	padding: 15px 20px;
	background-color: #f1f1f1;
}

dd {
	float: left;
	margin-left: 1em;
	padding: 15px 20px;
	line-height: 2.0em;
}

a {
	color: #5c87a6;
	text-decoration: underline;
}

a:hover {
	color: #4bacb7;
	text-decoration: underline;
}
●①dl divにボーダー線
border-bottomで、お知らせ1件ごとの区切り線を引いています。
●②dtに背景色を指定
日付部分にbackground-colorを指定し、タイトルと区別しやすくしています。
●③ddの余白と行間
paddingとline-heightで、タイトルを読みやすく調整しています。

会社概要で使用する

dt要素に項目、dd要素に詳細内容を入れています。

See the Pen
GRJMjMR
by shu (@shu0325)
on CodePen.

コードを見る

.company {
	padding: 30px;
	box-sizing: border-box;
	background-color: #a4d1f3;
}

.company_inner {
	padding: 30px;
	box-sizing: border-box;
	background-color: #ffffff;
}

dl {
	overflow: hidden;
	font-size: 14px;
	margin: 0;
}

dt {
	width: 10%;
	float: left;
	clear: left;
	padding: 15px 20px;
	border-bottom: 3px solid #5c87a6;
	box-sizing: border-box;
}

dd {
	width: 90%;
	float: left;
	margin-left: 0em;
	padding: 15px 20px;
	border-bottom: 3px solid #cccccc;
	box-sizing: border-box;
}

dl dt.first_dt {
	border-top: 3px solid #5c87a6;
}

dl dd.first_dd {
	border-top: 3px solid #cccccc;
}
●①widthで横幅を指定
dtを10%、ddを90%にすることで、項目と内容を1行に収めています。
●②box-sizing: border-box;
paddingやborderを含めた幅で計算されるため、合計100%で横並びが崩れません。
●③first_dt・first_dd
1行目のみ上側にボーダーを追加するためのクラスです。

よくある質問で使用する

dt要素に質問、dd要素に回答を入れています。

See the Pen
xxGXEMM
by shu (@shu0325)
on CodePen.

コードを見る

.company {
	padding: 30px;
	box-sizing: border-box;
}

dl {
	overflow: hidden;
	font-size: 14px;
	margin-bottom: 20px;
}

dt {
	padding: 15px 20px;
	box-sizing: border-box;
	background-color: #f1f1f1;
}

dd {
	margin-left: 0em;
	padding: 15px 20px;
	box-sizing: border-box;
	border: solid 2px #f1f1f1;
}

dt:before {
	content: "Q.";
	font-weight: bold;
	margin-right: 10px;
}

dd:before {
	content: "A.";
	font-weight: bold;
	margin-right: 10px;
	color: #c00c00;
}
●①dtとddのデザイン
質問(dt)には背景色、回答(dd)には枠線を指定し、見た目を区別しています。
●②dt:before
content: "Q.";で、HTMLに記述せずに「Q.」を自動表示しています。
●③dd:before
content: "A.";で「A.」を表示し、colorで赤色にしています。

まとめ

今回は、HTMLのdl・dt・ddタグの使い方について解説しました。
dtに用語、ddに説明を入れるというシンプルな構造で、CSSを組み合わせることで、お知らせ・会社概要・よくある質問など、さまざまなデザインに活用できます。
定義リストは現場でもよく使用されるタグです。ここでしっかりマスターしましょう。

POINT
  • dtには定義する用語、ddには用語の説明を記述します。
  • 1つのdtに対して、ddは複数使用できます。
  • dt・ddはdlの中でのみ使用します。
  • 横並びにする場合は、floatやwidthで調整します。
  • ボーダー線を引く場合は、divで囲むと綺麗に表示できます。
  • dt・ddに入れられるタグも覚えておきましょう。

テンプレートを見る

Web・デザインの本棚

Web・デザインの本棚を見る

スポンサーリンク

SHU

1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。

オススメ記事

カテゴリー

月別アーカイブ

Others Posts記事

NEW
本の紹介