【发布时间】:2017-12-05 13:58:23
【问题描述】:
因此,使用justify-content 和align-items center 使文本垂直居中看起来很简单,但是当我仔细观察时,我发现文本并没有真正居中。它在字符顶部的间距较小。我试图通过在线搜索进一步调查,发现了这个https://iamvdo.me/en/blog/css-font-metrics-line-height-and-vertical-align,但必须有一个更简单的解决方案。
示例 https://jsfiddle.net/z7cy487o/
html,
body {
height: 100%;
}
.box {
height: 10%;
width: 400px;
background: #000;
font-size: 11vh;
color: #FFF;
text-align: center;
padding: 0 20px;
margin: 20px;
display: flex;
justify-content: center; /* align horizontal */
align-items: center; /* align vertical */
}
<div class="box">
C
</div>
【问题讨论】:
-
使用 flexbox 使文本居中对我来说毫无意义。是否有一些非常不寻常的特殊情况可以解释为什么你会这样做?或者是您在没有 flexbox 的情况下显示的 CSS 的问题,因为坦率地说,您显示的内容非常复杂。不应该那样做。
-
不,由于您在该文章中找到的确切原因,没有其他方法可以真正垂直居中文本。
-
line-height: 1可以帮助保持垂直居中的一致性
标签: html css flexbox centering