它因字体系列而异。每种字体都有不同的基线。如果您将容器的高度设置为与字体的高度匹配,那么字体仍将悬挂在容器下方。这可以使用 line-height 居中,但是在字体上方和下方仍然会有一些空间。
这是一篇更好地解释这一点的文章。
http://blog.typekit.com/2010/07/14/font-metrics-and-vertical-space-in-css/
演示:
这也是我开始的演示。您可以轻松判断基线在哪里以及顶部有多少额外空间。当 line-height 设置为等于 font-size 时,它会垂直居中字体。但是,如您所见,顶部和底部仍有一些空白区域。所以字体本身与容器的高度并不完全相同。
HTML
<h1>ABCDEFGHIJKLMNOPQRSTUVWXYZ</h1>
<h1>abcdefghijklmnopqrstuvwxyz</h1>
<h2>ABCDEFGHIJKLMNOPQRSTUVWXYZ</h2>
<h2>abcdefghijklmnopqrstuvwxyz</h2>
<h3>ABCDEFGHIJKLMNOPQRSTUVWXYZ</h3>
<h3>abcdefghijklmnopqrstuvwxyz</h3>
<h4>ABCDEFGHIJKLMNOPQRSTUVWXYZ</h4>
<h4>abcdefghijklmnopqrstuvwxyz</h4>
CSS
h1 {
font-family:sans-serif;
font-size:34px;
height:34px;
margin-bottom:5px;
border:1px solid #CCC;
}
h2 {
font-family:serif;
font-size:34px;
height:34px;
margin-bottom:5px;
color:blue;
border:1px solid #CCC;
line-height:34px; /*NOTE THIS ONE HAS LINE-HEIGHT*/
}
h3 {
font-family:"impact";
font-size:34px;
height:34px;
margin-bottom:5px;
border:1px solid #CCC;
}
h4 {
font-family:"Courier New";
font-size:34px;
height:34px;
margin-bottom:5px;
border:1px solid #CCC;
}
小提琴网址:
http://jsfiddle.net/KtY4F/9/