[英]How to vertically align text with icon font?
我有一個非常基本的 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>
有什么建議可以解決嗎?
在這種情況下,由於您使用的是inline
級元素,因此您可以將vertical-align: middle
添加到span
元素以實現垂直居中:
.nav-text {
vertical-align: middle;
}
或者,您可以將父元素的display
設置為flex
並將align-items
設置為center
以實現垂直居中:
.menu {
display: flex;
align-items: center;
}
這里已經有一些答案,但我發現 flexbox 是最干凈、最不“hacky”的解決方案:
parent-element {
display: flex;
align-items: center;
}
要支持 Safari < 8、Firefox < 21 和 Internet Explorer < 10(使用此 polyfill支持 IE8+9),您需要供應商前綴:
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
設置為圖片的垂直大小,然后像 Josh 說的那樣做vertical-align:middle
。
所以如果圖片是20px
,你會有
{
line-height:20px;
font-size:14px;
vertical-align:middle;
}
垂直和水平居中使用這個:
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
擴展Marian Udrea的回答:在我的場景中,我試圖將文本與材料圖標對齊。 材質圖標有些奇怪,無法對齊。 在我將vertical-align
添加到圖標元素而不是父元素之前,沒有一個答案有效。
因此,如果圖標的高度為24px
:
.parent {
line-height: 24px; // Same as icon height
i.material-icons { // Only if you're using material icons
display: inline-flex;
vertical-align: top;
}
}
添加到跨度
vertical-align:baseline;
對我不起作用,但
vertical-align:baseline;
vertical-align:-webkit-baseline-middle;
確實有效(在 Chrome 上測試)
使用 CSS 網格
HTML
<div class="container">
<i class="fab fa-5x fa-file"></i>
<span>text</span>
</div>
CSS
.container {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
}
你可以使用這個屬性: vertical-align:middle;
.selector-class {
float:left;
vertical-align:middle;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.