【发布时间】:2017-04-16 06:23:44
【问题描述】:
我正在寻找一种更优雅的方式来将右侧图标与左侧文本垂直对齐,因为负边距可能有点小技巧。
div.main {
border: 1px solid black;
padding: 14px;
}
div.icons {
margin-top: -1.65em;
}
div.icon {
font-size: 2rem;
color: blue;
border: 0.1px solid blue;
border-radius: 3px;
margin-left: -1px;
padding: 3px;
float: right;
}
<link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'>
<div class="main">
<div class="summary">Some text</div>
<div class="icons pull-right">
<div class="icon fa fa-line-chart">
</div>
<div class="icon fa fa-bar-chart">
</div>
</div>
</div>
【问题讨论】:
-
最好将
display inline-block与vertical-align: middle一起使用。你避免做一些不好的事情,比如设置负边距。 -
@Mardzis 我要补充一点,任何“幻数”都是脆弱的,因为如果你只需要重构一小部分,你总是必须重新设置它们,你最终会做的工作太多
标签: html css flexbox vertical-alignment