我很难理解 font-size 在以下 html 片段中是如何工作的:
.container {
padding: 20px;
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
ul li {
margin: 0;
padding: 0;
background: blue;
height: 50px;
line-height: 50px;
color: white;
}
ul li span {
border: 1px solid red;
margin: 0;
padding: 0;
}
#test1 li {
font-size: 48px;
}
#test2 li {
font-size: 42px;
}
<div class="container">
<ul id="test1">
<li><span>Test</span></li>
</ul>
</div>
<div class="container">
<ul id="test2">
<li><span>Test</span></li>
</ul>
</div>
我希望我的li
元素正好是 50 像素高,并且我希望文本/跨度在其中垂直居中。一切都是垂直的,但是当我将 font-size 设置为 48px 并带有 2px 红色边框时,边框被推到了 li 元素之外。似乎应用了不可见的填充/边距。
这是一个展示“问题”的jsfiddle:http: //jsfiddle.net/qtVK3/
当我span
在 Chrome 中检查元素时,它显示 span 元素的实际高度为 57px。额外的 7px 是从哪里来的?