如何在使用大字体-awesome图标时垂直居中文本?

18 浏览
0 Comments

如何在使用大字体-awesome图标时垂直居中文本?

假设我有一个带有字体图标和一些文本的Bootstrap按钮:

    
    hello world

如何使文本垂直居中显示?

文本现在与图标的底边对齐: http://jsfiddle.net/V7DLm/1/

0
0 Comments

问题原因:当容器的高度大于50px时,使用line-height和vertical-align的方法无法实现垂直居中。

解决方法:使用响应式的方法来实现垂直居中,具体解决方法可以参考stackoverflow的回答。

0
0 Comments

问题的出现原因:作者想要在使用大号字体图标时将文本垂直居中,但是遇到了困难。

解决方法:作者使用了全局样式`.fa-2x { vertical-align: middle; }`来实现将文本与图标垂直居中的效果。并且可以根据需要在同一定义中添加`3x`、`4x`等样式。作者认为这是最简单的解决方案。

此外,作者提到一些人可能会建议不要使用`vertical-align: middle;`,但作者认为这种建议可能是针对使用`block`元素的情况。对于使用`inline`、`inline-block`或`table-cell`的情况,这个方案是可行的。

另外,某些情况下在Bootstrap 5的图标中,将`:before`元素的垂直对齐设置为`baseline`也可以实现相同的效果。具体的样式为`i.bi:before { vertical-align: baseline; }`。

通过以上整理,可以得出以下文章:

如何在使用大号字体图标时垂直居中文本?

作者在99%的情况下都会在文本旁边使用图标,因此他对全局样式进行了更改,如下所示:

.fa-2x {
  vertical-align: middle;
}

根据需要在同一定义中添加`3x`、`4x`等样式。

在我看来,这应该是最佳答案,因为它是最简单的解决方案,除非我在原问题中遗漏了什么。谢谢!我不确定为什么有些人说不要使用`vertical-align: middle;`,如果是这样,请解释一下。

Roth认为当人们建议不要使用`vertical-align: middle;`时,他们指的是如果你使用的是`block`元素。如果你使用的是`inline`、`inline-block`或`table-cell`,那么这个解决方案应该是可行的。详情请参考MDN:vertical-align

这个方法很好用!谢谢!:D

我发现在Bootstrap 5的图标中,将`:before`元素的垂直对齐设置为`baseline`也可以实现相同的效果:`i.bi:before { vertical-align: baseline; }`。

0
0 Comments

问题出现的原因是因为需要垂直居中的文本和一个大的font-awesome图标在布局中无法完美对齐。解决方法是通过调整font-awesome图标的垂直对齐方式来实现垂直居中的效果。

具体的解决方法如下:

1. 不要修改文本的垂直对齐方式,而是修改font-awesome图标的垂直对齐方式。

2. 在HTML代码中,创建一个包含font-awesome图标和文本的div元素,设置图标的垂直对齐方式为middle。

3. 可以使用内联样式或者自定义CSS类来设置图标和文本的样式。

4. 可以使用相对单位(如em)来指定图标的大小,也可以使用自定义的字体大小。

示例代码如下:

hello world

如果不想使用inline样式,可以使用自定义的CSS类来设置图标和文本的样式,如下所示:

Hello World

对应的CSS样式如下:

.my-icon {
  vertical-align: middle;
  font-size: 40px;
}
.my-text {
  font-family: "Courier-new";
}
.my-fancy-container {
  border: 1px solid #ccc;
  border-radius: 6px;
  display: inline-block;
  margin: 60px;
  padding: 10px;
}

通过以上方法,可以实现文本和font-awesome图标的垂直居中对齐。

0