![](/img/trans.png)
[英]Why does this inline-block element have content that is not vertically aligned
[英]Vertically-aligned inline-block element not perfectly centered within container
我正在尝试使用vertical-align: middle
将某些文本中的inline-block
元素垂直居中。
p { background: red; line-height: 20px; display: block; } span { height: 18px; width: 18px; display: inline-block; background: lightblue; vertical-align: middle; }
<p> <span></span> <-- Not perfectly aligned </p>
请注意,元素没有完全居中……这是为什么? 这是浏览器一对一问题吗? 它在 WebKit 浏览器(Chrome、Safari)上重现。
vertical-align: middle;
从来没有打算将元素居中。 这是一个更简单的例子,可以更好地理解:
p { background: linear-gradient(yellow,yellow) center/100% 1px no-repeat, /* the center */ red; line-height: 80px; font-size:80px; display: block; } span { height: 18px; width: 18px; display: inline-block; background: lightblue; vertical-align: middle; }
<p> <span></span> <-- Not aligned </p>
将元素的中间与基线加上父ref的 x 高度的一半对齐
相关问题了解更多详情:
您的代码有注释,文本不在跨度内。 尝试这个:
<p>
<span>Not perfectly aligned</span>
</p>
p {
background: red;
}
span {
display: inline-block;
background: lightblue;
vertical-align: top;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.