字体图标后垂直对齐文本

时间:2016-12-08 14:31:01

标签: html css twitter-bootstrap font-awesome vertical-alignment

<div class="col-md-4">
    <span class="fa-stack fa-2x">
        <i class="fa fa-circle fa-stack-2x blue"></i>
        <i class="fa fa-wifi fa-stack-1x white"></i>
    </span>
    <h4 class="blue">Free wifi</h4>
</div>

如何在图标右侧显示h4元素并垂直对齐?我应该向左漂移span吗?

3 个答案:

答案 0 :(得分:1)

其中一种方法是使用inline-block显示和中间对齐 - 请参阅下面的演示:

.wrapper > * {
  display: inline-block;
  vertical-align: middle;
}
.blue {
  color: blue;
}
.white {
  color: white;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

<div class="col-md-4 wrapper">
    <span class="fa-stack fa-2x">
        <i class="fa fa-circle fa-stack-2x blue"></i>
        <i class="fa fa-wifi fa-stack-1x white"></i>
    </span>
    <h4 class="blue">Free wifi</h4>
</div>

答案 1 :(得分:1)

使用 CSS Flexbox 。创建一个包含图标和文本的父<div>(在我的情况下为icon-holder)并使用display: flex将其设为Flexbox容器。

请看下面的代码段:

.icon-holder {
  display: flex; /* Flex Container */
  align-items: center; /* Vertically Align Content */
}

.blue {
  color: #33b5e5;
}

span {
  color: #fff;
}

h4 {
  padding-left: 5px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="col-md-4">
  <div class="icon-holder">
    <span class="fa-stack fa-2x">
        <i class="fa fa-circle fa-stack-2x blue"></i>
        <i class="fa fa-wifi fa-stack-1x white"></i>
    </span>
    <h4 class="blue">Free wifi</h4>
  </div>
</div>

希望这有帮助!

答案 2 :(得分:1)

您可以使用display: flex并执行以下操作:

  • .col-md-4 {
      display: flex;
      align-items: center;
    }
    
    .blue {
      color: blue
    }
    
    .white {
      color: white;
    }
    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
    
    <div class="col-md-4 wrapper">
        <span class="fa-stack fa-2x">
            <i class="fa fa-circle fa-stack-2x blue"></i>
            <i class="fa fa-wifi fa-stack-1x white"></i>
        </span>
        <h4 class="blue">Free wifi</h4>
    </div>