なぜこれが起こるのか理解しようとしています。
<a>
内に があり、またはリンクの高さの<h2>
いずれかに行の高さを設定すると、よりも大きくなります。<body>
<h2>
<h2>
[明確にするための更新] 問題は、.title a の計算された高さが 58px であるのに対し、その親である h2.title の計算された高さが 50px であるということです。計算された高さは両方とも同じであると予想していました。[/アップデート]
問題をよりよく説明するために、両方に下の境界線を付けました。
[更新 2] これを理解しようと、行の高さの仕様を読みました。
a
仕様を読んだところ、ブロックレベル要素内のインライン要素h2
は親の行の高さを継承する必要があるようです。ここで私の例を編集して、上の行の高さを大きくしましたh2
。inline-block の表示を与えると、a
明らかにフィットしますが、それでも行の高さを完全に削除するだけでなく、行も通過しません (したがって、ブラウザのデフォルトの行の高さ 1.2 を使用します)。
これ自体はおそらく問題ではありません。動作を理解したいだけです。
[更新 3]の をボックス全体の高さ(上記の例ではピンク)より大きくするように変更するline-height
と、はからを継承していることに気付きました。紛らわしいのは、リンクの高さ (クリック可能な領域) と境界線の下の位置が変わらないのに対し、境界線の下は行の高さとともに移動することです。a
h2
h2
a
line-height
h2
h2