字体图标后垂直对齐文本

Vertical Align Text After Font Icon

<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 吗?

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

.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>

使用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>

希望对您有所帮助!

您可以使用 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>