【发布时间】:2019-08-20 03:12:13
【问题描述】:
我需要在 div 的中心垂直对齐文本。我找到了很多方法,但它们都不尊重文本的确切内容——我说的是文本行下方的小图形部分——例如字母“ygq”等,例如大写字母使用“YGQ”,但在显示文本时仍然计入。我试过了:
.button {
height: 20px;
line-height: 20px;
}
<div class="button">My text</div>
<div class="button">MY TEXT</div>
反之
.button {
height: 20px;
display: flex;
align-items: center;
}
<div class="button"><p>My text</p></div>
<div class="button"><p>MY TEXT</p></div>
我使用 padding 属性,当我确定时,不会显示线下的图形。有没有办法,如何根据文本的确切内容对齐文本?
问题How do I vertically center text with CSS? 没有回答这个问题,因为该解决方案基于“行高”,正如我在问题中提到的那样,它仍然在行下方计算图形。
【问题讨论】:
-
提到的“重复”问题并不能解决问题 - line-height 包括我在问题中提到的行下方的图形空间。
标签: css text vertical-alignment