按钮中文本和图标的垂直对齐方式

Sha*_*ane 55 alignment webfonts twitter-bootstrap font-awesome

我无法在Bootstrap框架下的按钮内垂直对齐字体 - 真棒图标和文本.我尝试了很多东西,包括设置行高,但没有任何工作.

<button id="edit-listing-form-house_Continue" 
        class="btn btn-large btn-primary"
        style=""
        value=""
        name="Continue"
        type="submit">
    Continue
    <i class="icon-ok" style="font-size:40px;"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/fPXFY/

我怎样才能让它发挥作用?

nic*_*har 92

有一个规则由font-awesome.css您设置,您需要覆盖它.

您应该在CSS文件中设置覆盖而不是内联,但实质上,vertical-align: baseline;默认情况下将icon-ok类设置为,我在此更正了:

<button id="whatever" class="btn btn-large btn-primary" name="Continue" type="submit">
    <span>Continue</span>
    <i class="icon-ok" style="font-size:30px; vertical-align: middle;"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/fPXFY/4/,其输出为:

在此输入图像描述

我在这个实例中缩小了上面图标的字体大小30px,因为它40px对于按钮的大小感觉太大了,但这纯粹是个人观点.如果需要,您可以增加按钮上的填充以进行补偿:

<button id="whaever" class="btn btn-large btn-primary" style="padding: 20px;" name="Continue" type="submit">
    <span>Continue</span>
    <i class="icon-ok" style="font-size:30px; vertical-align: middle;"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

制作:http://jsfiddle.net/fPXFY/5/其输出为:

在此输入图像描述

  • 你可能还想添加`margin-top:-0.125em`,因为我发现如果你使用像"bars"这样的图标(无处不在的移动导航按钮),顶部仍然有一些空间. (13认同)

Mar*_*olo 14

d-inline-flex align-items-centerBootstrap 4.3.1 只需在元素父级中添加类,您还可以my-0使用删除 font-awesome 图标中多余的边距,如下所示:

<a href="" class="btn btn-success d-inline-flex align-items-center"><i class="fab fa-whatsapp h1 my-0 pr-2"></i>Whatsapp</a>
Run Code Online (Sandbox Code Playgroud)


Ali*_*zai 6

或者,如果您使用引导程序,则只需将align-middle元素添加到垂直对齐即可。

<button id="whaever" class="btn btn-large btn-primary" style="padding: 20px;" name="Continue" type="submit">Continue
    <i class="icon-ok align-middle" style="font-size:40px;"></i>
</button>
Run Code Online (Sandbox Code Playgroud)


小智 5

只需将按钮标签包裹在额外的范围内并添加class="align-middle"到两者(图标和标签)。这将使您的图标与文本垂直居中。

<button id="edit-listing-form-house_Continue" 
    class="btn btn-large btn-primary"
    style=""
    value=""
    name="Continue"
    type="submit">
<span class="align-middle">Continue</span>
<i class="icon-ok align-middle" style="font-size:40px;"></i>
Run Code Online (Sandbox Code Playgroud)