HTML / CSS / jQuery コーディング

【CSS】Flexboxを使ってレスポンシブな「dl dt dd」を作る


年内最後の投稿になる今回は、今までで一番アクセスの多い「レスポンシブな「dl dt dd」を作る」の最新版をご紹介します。

以前の内容では「float: left;」を使って横並びにしていましたが、最新版では「Flexbox」を使います。

◆まずはデモページをご覧ください。

デモページを見る

 

それでは、HTMLとCSSを順に解説していきます。会社概要を例にしています。

HTML

<div class="company">
<dl>
<dt>会社名</dt>
<dd>〇〇〇〇株式会社</dd>
<dt>所在地</dt>
<dd>埼玉県〇〇市11-22</dd>
<dt>電話番号</dt>
<dd>012-333-4444</dd>
<dt>代表者</dt>
<dd>名前 太郎</dd>
<dt>営業時間</dt>
<dd>9:00~18:00</dd>
</dl>
</div>

HTMLは、シンプルな「dl dt dd」となっています。

 

CSS

.company dl {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.company dt {
flex-basis: 15%;
padding: 20px;
background-color: #f1f1f1;
border-bottom: 1px solid #ccc;
}
.company dd {
flex-basis: 85%;
padding: 20px;
background-color: #fff;
border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 559px) {
.company dl {
flex-flow: column;
}
}

CSSでは「dl」に「display: flex;」を指定し、「dt dd」を横並びにしています。

「flex-basis」で「dt dd」それぞれの横幅を指定しています。合わせて100%になるようにするとよいです。

メディアクエリで「dl」に「flex-flow: column;」を指定することで、スマホでは「dt dd」が縦並びになります。

 

デモページのファイル一式をご希望の方はダウンロードできますので、よろしければどうぞ。

【CSS】Flexboxを使ってレスポンシブな「dl dt dd」を作る

【 css44.zip(2KB) 】

-HTML / CSS / jQuery コーディング
-,

© 2025 Web担当屋 ブログ