定義リストは、dlタグで括られた中に、dt(定義する用語や項目など)とdd(その説明文)を並べて配置した形で構成されます。普通に記述すると、dtの後で改行され、全角で3文字分の左マージンをあけて、ddが表示されます(1)。このレイアウトは見やすいとは言いがたく、場合によってはスペースを多く消費してしまうことから、dtとddを同じ位置で横に並べるレイアウトが好まれるようです(2)。
この横並びの方法は、floatを使うのが普通です。ddを複数表示する場合は、dtのwidth、またはddのmargin-leftを指定、もしくは両方を使ってきれいに並べることができます。
ところが、複数のddがあり、かつ、これを続けて表示したい場合、(2)の方法ではうまくいきません。そこでfloatのかわりにtable-cellを使います(3)。dtのwidthは10em(この場合)、ddのmargin-leftは0かごく小さくします。
注意点は、横にtable-cellを続けて並べるため、dlのwidthをoverflowすると、すべてのddでテキストが桁あふれします(4)。さらに、各ddのテキスト量が違うと、折り返しがばらばらになって汚くなってしまいますので、ddのwidthを決め、paddingを使ってcellどうしを離します。
※このページの補足→「css・定義リストのdtとddを同じ位置できれいな横並びにする[2]」
.dlwrap1 dl {
width: 100%;
color: #3366ff;
font-size: 14px;
margin: 4px 0;
}
.dlwrap1 dl dt {
color: #777;
font-weight: bold;
}
.dlwrap2 dl {
width: 100%;
color: #3366ff;
font-size: 14px;
margin: 4px 0;
}
.dlwrap2 dl dt {
float: left;
clear: left;
width: 10em;
color: #777;
font-weight: bold;
}
.dlwrap2 dl {
margin-left: 10em;
}
.dlwrap dl {
display: table;
color: #3366ff;
font-size: 14px;
margin: 4px 0;
}
.dlwrap dl dt {
display: table-cell;
width: 10em;
color: #777;
font-weight: bold;
}
.dlwrap dl dd {
display: table-cell;
}
.dlwrap5 {
display: table;
color: #3366ff;
font-size: 14px;
margin: 4px 0;
}
.dlwrap5 dl dt {
display: table-cell;
width: 10em;
color: #777;
font-weight: bold;
}
.dlwrap5 dl dd {
width: 15em;
display: table-cell;
padding-left: 20px;
}