私は、プレーンテキストとアイコンフォントを組み合わせた非常に基本的なHTMLを持っています。
<div class="ui menu">
<a href="t" class="item"><i class="large home basic icon"></i><span class="nav-text"> Accueil</span></a>
<a href="" class="item"><i class="large camera retro icon"></i><span class="nav-text"> Créations</span></a>
<a class="item"><span class="nav-text">Qui-suis je </span><i class="large help basic icon"></i></a>
</div>
問題は、アイコン テキストと同じ高さで正確にレンダリングされない :
それを修正するための提案はありますか?
すでにいくつかの回答がありますが、flexboxが最もクリーンで「ハッキングの少ない」ソリューションであることがわかりました。
parent-element {
display: flex;
align-items: center;
}
Safari <8、Firefox <21およびInternet Explorer <10(IE8 + 9をサポートするには this polyfill を使用)をサポートするには、ベンダープレフィックスが必要です。
parent-element {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
vertical-align
は単位値を取ることができるため、必要なときに単位値に頼ることができます。
{
display:inline-block;
vertical-align: 5px;
}
{
display:inline-block;
vertical-align: -5px;
}
line-height
を画像の垂直サイズに設定してから、ジョシュが言ったようにvertical-align:middle
を実行します。
画像が20px
の場合、
{
line-height:20px;
font-size:14px;
vertical-align:middle;
}
垂直方向および水平方向に中央揃えするには、次を使用します。
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
スパンに追加する
vertical-align:baseline;
うまくいかなかったが
vertical-align:baseline;
vertical-align:-webkit-baseline-middle;
動作しました(Chromeでテスト済み)
次のプロパティを使用できます:vertical-align:middle;
.selector-class {
float:left;
vertical-align:middle;
}