我现在使用Twitter Bootstrap 3 RC2以及已经移动到单独存储库中的Twitter Bootstrap。我注意到,如果在按钮中使用文本,图标的居中对齐效果不是很好:
图标和文本具有相同的底线,但是我认为为了一个好看的按钮,图标应该基于文本进行居中,对吗?有什么方法可以实现这一点吗?
我现在使用Twitter Bootstrap 3 RC2以及已经移动到单独存储库中的Twitter Bootstrap。我注意到,如果在按钮中使用文本,图标的居中对齐效果不是很好:
图标和文本具有相同的底线,但是我认为为了一个好看的按钮,图标应该基于文本进行居中,对吗?有什么方法可以实现这一点吗?
<span>
中的文本移出,并将 vertical-align: middle;
应用于 <span>
。 <button class="btn btn-default">
<span class="glyphicon glyphicon-th" style="vertical-align: middle;"></span> Centered
</button>
在Bootstrap 4中使用Font Awesome图标可以像这样工作。
<button class="btn btn-default" style="vertical-align: middle;">
<i class="fa fa-times"></i> Centered
</button>
input-group
内的输入文本的高度不同。通过这种解决方案修复了这个问题,虽然图标一开始出现在按钮上部位置过低。使用 vertical-align:top
修复了这个问题。 - Bjørn Stenfeldtf
,t
)或下降部分(g
,y
,q
)时,因为单词的垂直框的中心将无法与图标的垂直框的中心完全对齐。 - kumarharshvertical-align
属性还可以用于这样的字形!谢谢! - Priidu Neemre在.glyphicon-th上应用vertical-align: -{N}px;
样式,将其向上/向下移动N像素。
对于某些情况,由于定位的原因,vertical-align可能无法起作用:如果您查看.glyphicon类,则会发现它被设置为相对定位,尝试将其设置为“inherit”,例如:
.glyphicon.v-centered {
position: inherit;
vertical-align: middle;
}
这也适用于不在按钮中的图标,例如选项卡。
<div class="col-xs-12">
<a title="" class="btn btn-block btn-info oa-btn-spacer_homepage oa-ellipsis" role="button" href="default.aspx?action=page&name=creditcard">
<span class="glyphicon glyphicon-credit-card glyph_Credit"></span> Update Your Credit Card and Billing Information
</a>
</div>
CSS
#panelTopic .glyph_Credit {
vertical-align: middle;
display: inline-block;
padding-bottom:6px;
}
对于我来说,上述方法本身都不太有效,但在元素上使用display: inline-block; vertical-align: middle
是有效的。似乎inline-block
是关键。
.vcenter * {
vertical-align: middle;
display: inline-block;
}
.btn i {
margin-left: 10px;
font-size: 20px;
}
使用
<div class="vcenter">
<button class="btn btn-default btn-lg"><span>Centered</span><i class="glyphicon glyphicon-ok"></i></button>
<button class="btn btn-default"><span>Centered</span><i class="glyphicon glyphicon-ok"></i></button>
<button class="btn btn-default btn-sm"><span>Centered</span><i class="glyphicon glyphicon-ok"></i></button>
</div>
请查看http://www.bootply.com/UbY78zM8pD以获取实时示例。
我以这种方式成功地完成了它:
.glyphicon.center:before {
vertical-align: middle;
}
使用 <span class="glyphicon center glyphicon-th"></span>
。
.glyphicon-th:before
上尝试使用 vertical-align: middle;
。添加特定像素或百分比的边距。在我的应用程序中,它可以根据区域的尺寸完美地工作。
CSS:
.someWrapperClass button span {
margin-top: 120%;
}
HTML:
<div class="someWrapperClass">
<button type="button" ng-click="SomeMethod()">
<span class="glyphicon glyphicon-chevron-left"></span>
</button>
</div>
<button class="btn btn-default">
<span class="glyphicon glyphicon-th" style="font-size: 14px;"> </span>
<span style="font-size: 17px;">Not Centered</span>
</button>
另一种方式
<button class="btn default" id="IdBack">
<i class="glyphicon glyphicon-hand-left"></i>
<b>Back</b>
</button>