質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

font

近年は、コンピュータ上、紙面上で利用できる書体データのことをfontといいます。数える時の単位は「書体」で、データとしてのフォントは、デジタルフォントと呼ばれる場合があります。 HTML/CSSでは要素を指定し、フォント情報を調整することができます。

Q&A

解決済

1回答

703閲覧

行の高さ+上下paddingの和が、検証ツールの示す要素の高さと一致しない理由

dancing_bonito

総合スコア1

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

font

近年は、コンピュータ上、紙面上で利用できる書体データのことをfontといいます。数える時の単位は「書体」で、データとしてのフォントは、デジタルフォントと呼ばれる場合があります。 HTML/CSSでは要素を指定し、フォント情報を調整することができます。

0グッド

0クリップ

投稿2021/07/11 11:38

●内容
[フォントサイズ] 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:028px
line-height:144px
line-height:1.145px
line-height:1.247px
line-height:1.2548px

ここで改めて計算してみると
20px(フォントサイズ16px x line-height1.25) + 11px (padding-top)+ 13px (padding-bottom)
= 44px となり、
やはりデベロッパーツールが示している要素の高さ48pxとは一致しません。
残りの4pxは何に起因しているのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2021/07/11 15:46

当方の環境では、問題が再現しませんでした。 https://jsfiddle.net/Lhankor_Mhy/of1vcwLk/ 上記ページで、ご提示のコードを試してみましたが、line-height: 1.25 で、ボーダーを除いた高さは、dancing_bonitoさんとは異なり、44px となりました。 dancing_bonitoさんの環境で、上記ページでは、line-height: 1.25 で、ボーダーを除いた高さはいくつになっていますか? 44pxになるのであれば、ご提示いただいていない部分に原因がありそうです。 44pxにならないのであれば、環境の問題かもしれません。
dancing_bonito

2021/07/12 01:14

ありがとうございます。 今、再度確認を行ったところ line-height:1.25の場合、要素の高さは仰るとおり44pxになりました。 ※質問文中に記載したline-heightの値を様々変えての試行結果は、 何らかの原因によりcssファイル更新後の最新の値が表示されているものではなかったようで、正確性に欠けるものだったことが今判明しました。 (リロード忘れ等だった可能性も多分に考えられます) お手数をおかけいたしました。 返信感謝申し上げます。
guest

回答1

0

ベストアンサー

line-height は 1.5 です。

16px * 1.5 = 24px

paddingの上下を合わせて 24px

borderの上下を合わせて4px

全部足して52px

(補足)
line-heightの求め方

font-size * line-height = フォントの高さ

line-height = フォントの高さ / font-size

投稿2021/07/11 15:42

編集2021/07/11 15:49
Jon_do

総合スコア1373

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dancing_bonito

2021/07/12 01:15

ありがとうございます。 全体の高さから逆算する方法を思いつきませんでした。 今、再度確認を行ったところ line-height:1.5の場合、仰るとおりの結果になることを確認しました。 ※質問文中に記載したline-heightの値を様々変えての試行結果は、 何らかの原因によりcssファイル更新後の最新の値が表示されているものではなかったようで、正確性に欠けるものだったことが今判明しました。 (リロード忘れ等だった可能性も多分に考えられます) シンプルな解をありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問