●内容
[フォントサイズ] x [line-heightの値]で求めた行の高さと上下paddingの和が、
デベロッパーツールの示す要素の高さと一致しない理由を知りたい。
●経緯
ボタンを作成し、以下cssを適用しました。
※font-family: 'Noto Sans JP', sans-serif;
css
1.btn{ 2 display: block; 3 width: 208px; 4 margin: 0 auto; 5 padding: 11px 11px 13px; 6 box-sizing: border-box; 7 border: solid 2px #2e5180; 8 border-radius: 24px; 9 font-size: 16px; 10 font-weight: bold; 11 color: #2e5180; 12}
Chromeデベロッパーツールで該当のボタンを確認すると、高さ:52pxとなっています。
ボーダーを除いた場合の高さは
52px - 4px(上下ボーダーの幅) = 48px となるはずですが、
実際に各要素の高さから計算してみると
16px (フォントサイズ) + 11px (padding-top)+ 13px (padding-bottom) =
40px となり、8px分合いませんでした。
以下は、line-heightを追加して検証した結果です。
これによると、どうやらデフォルトでline-height: 1.25 が適用されているようでした。
line-height指定値 | 要素の高さ(上下ボーダー幅を除く) |
---|---|
line-height:0 | 28px |
line-height:1 | 44px |
line-height:1.1 | 45px |
line-height:1.2 | 47px |
line-height:1.25 | 48px |
ここで改めて計算してみると
20px(フォントサイズ16px x line-height1.25) + 11px (padding-top)+ 13px (padding-bottom)
= 44px となり、
やはりデベロッパーツールが示している要素の高さ48pxとは一致しません。
残りの4pxは何に起因しているのでしょうか。
回答1件
あなたの回答
tips
プレビュー