これはおそらく(システムフォントを含む)ほとんどのフォントは、トップと各グリフのバウンディングボックスの底まで完全に延びていないことに起因します。これは、たとえ要素の高さが1em
であっても、大文字が要素の上端に触れないことを意味します。
これを解決するには、フォントを試して、文字の上端と下端がどこになるかを確認します。これはフォントごとに異なる場合があり、アセンダの高さにも依存します。しばしば、上昇部はキャップの高さよりも高い。 Times New Roman、以下の作品もキャップ用のために
:
<span>Foobar</span>
span {
background: #ddd;
display: inline-block;
line-height: .70em;
vertical-align: text-top;
}
ここで変更する行は、行の高さです。これで遊んでみると、必要な結果が得られるはずです。たとえば、.70
は、まだ "O"ビットをクリップします。
私は、フォントを必要以上に大きくし、行の高さにダイヤルして戻して縮小することを推奨します。
span {
background: #ddd;
display: inline-block;
line-height: .70em;
vertical-align: text-top;
}
body {
padding: 0;
margin: 0;
font: serif;
font-size: 20vw;
}
<span>FOOBAR</span>
一部のブラウザではまだ体にパディングやマージンを追加しますか? 'body {padding:0;マージン:0; } ' – wunth