2020年アップデート
CSS グリッド、フレックスボックス、または元の方法をline-height
次のように使用できます。
body { display: flex } /* just to prettify */
div {
margin: .5em;
width: 6.25em; height: 6.25em;
background: #eee;
color: #333;
text-align: center
}
.grid {
display: grid;
align-content: end;
}
.flex {
display: flex;
align-items: flex-end;
justify-content: center
}
.lh { line-height: 11.5 /* 6.25*2 - 1.5 */ }
<div class='grid'>Hello</div>
<div class='flex'>Hello</div>
<div class='lh'>Hello</div>
あなたの場合、テキストのとを同じ値に設定することheight
は、内のテキストを垂直方向に中央揃えする方法です。それが問題です。div
line-height
100px
div
解決策は、高さの 2 倍からテキストのサイズを引いた値に変更line-height
し、無駄を削除することvertical-align
です。