假设我有一个bootstrap按钮,带有一个字体很棒的图标和一些文本:

<div>
    <i class='icon icon-2x icon-camera'></i>
    hello world
</div>

我如何使文本显示垂直居中? 文本现在与图标的底部边缘对齐:http://jsfiddle.net/V7DLm/1/


当前回答

如果没有对齐,一个简单的line-height: inherit;通过CSS在特定的i.a a元素有对齐问题可以做的伎俩足够简单。

你也可以使用全局解决方案,由于CSS的特异性略高,它将覆盖FontAwesome的.fa规则,该规则指定line-height: 1而不需要属性上的!important:

i.fa {
  line-height: inherit;
}

只要确保上面的全局解决方案不会在你可能使用fontaweesome图标的地方引起任何其他问题。

其他回答

最简单的方法是设置垂直对齐css属性为middle

i.fa {
    vertical-align: middle;
}

对我来说,只要让元素显示网格,并对齐内容就可以完美地工作。简单的解决方案。

.yourfontawesome<i>Element{
display: grid;
align-content: center;
}

尝试设置你的图标高度:100%

您不需要对包装器做任何操作(比如,您的按钮)。

这需要字体Awesome 5。不确定它是否适用于旧的FA版本。

.wrap svg {
    height: 100%;
}

注意,图标实际上是svg图形。

Demo

简单地定义图标元素的垂直对齐属性:

div .icon {
   vertical-align: middle;
}

如果没有对齐,一个简单的line-height: inherit;通过CSS在特定的i.a a元素有对齐问题可以做的伎俩足够简单。

你也可以使用全局解决方案,由于CSS的特异性略高,它将覆盖FontAwesome的.fa规则,该规则指定line-height: 1而不需要属性上的!important:

i.fa {
  line-height: inherit;
}

只要确保上面的全局解决方案不会在你可能使用fontaweesome图标的地方引起任何其他问题。