dl,dt,ddを表形式表示をするスタイル
- 2020.01.20
- 日記
いろいろブラッシュアップして、これが最善策。最善策と思ったけど、WordPressでサイトを構築する場合、TinyMCEがdlの子要素のdivを認めてくれなくて、dl,dt,ddタグを消してしまうので、このコードは使えない。TinyMCEのconfigを弄って、dl子要素のdivを許可するようにしたけど、それはそれでうまくいかない。ということで、その場合はDiv無バージョンのこちら
HTML
<dl>
<div>
<dt>内容量</dt>
<dd>1個230g</dd>
</div>
<div>
<dt>賞味期限</dt>
<dd>3週間</dd>
</div>
<div>
<dt>原材料</dt>
<dd>砂糖 小豆 黒砂糖 寒天 水飴 ソルビトール</dd>
</div>
<div>
<dt>保存方法</dt>
<dd>直射日光並びに高温多湿をさけて保存</dd>
</div>
</dl>
CSS
dl,
dt,
dd {
box-sizing: border-box;
}
dl {
border-top: 1px solid #ddd;
border-left: 1px solid #ddd;
margin-bottom:0;
margin-top:0;
}
dl>div{
display:flex;
}
dt,
dd {
padding: 10px 10px 10px 10px;
margin-bottom:0;
border-bottom: 1px solid #ddd;
}
dt {
border-left:none;
font-weight:normal;
flex-basis:20%;
background:#eee;
border-right: 1px solid #ddd;
}
dd {
border-right: 1px solid #ddd;
margin:0;
flex-basis:80%;
}
dlの子要素にdivを挟んでるところが微妙であるが、
dl>div{
display:flex;
}
これを
dl>div{
display:block;
}
に、変更することで縦積みにしてレスポンス対応にできる。
DIVを挟まないバージョン
HTML
<div>
<dl>
<dt>内容量</dt>
<dd>1個230g</dd>
</dl>
<dl>
<dt>賞味期限</dt>
<dd>3週間</dd>
</dl>
<dl>
<dt>原材料</dt>
<dd>砂糖 小豆 黒砂糖 寒天 水飴 ソルビトール</dd>
</dl>
<dl>
<dt>保存方法</dt>
<dd>直射日光並びに高温多湿をさけて保存</dd>
</dl>
</div>
CSS
dl,
dt,
dd {
box-sizing: border-box;
}
dl {
border-left: 1px solid #ddd;
margin-bottom:0;
margin-top:0;
display:flex;
}
dl:first-child{
border-top: 1px solid #ddd;
}
dt,
dd {
padding: 10px 10px 10px 10px;
margin-bottom:0;
border-bottom: 1px solid #ddd;
}
dt {
border-left:none;
font-weight:normal;
flex-basis:20%;
background:#eee;
border-right: 1px solid #ddd;
}
dd {
border-right: 1px solid #ddd;
margin:0;
flex-basis:80%;
}
サンプル
- 内容量
- 1個230g
- 賞味期限
- 3週間
- 原材料
- 砂糖 小豆 黒砂糖 寒天 水飴 ソルビトール
- 保存方法
- 直射日光並びに高温多湿をさけて保存
-
前の記事
「Font Awesome 5」をCSSの疑似要素などで指定する時にハマったこと 2020.01.20
-
次の記事
PHPのバージョンを7に上げたらPDFファイルを生成するライブラリでエラーが出たので修正した話し 2020.02.06