16

我无法使用这些代码为 Font Awesome 5 图标着色。我尝试fill使用 css 属性来设置颜色,但它没有用。

HTML 代码:

<div class="container mt200 icons">
  <div class="col-md-3">
    <div class="bggray2 text-center">
      <i class="fas fa-microphone fa-5x"></i>
      <div class="title">LOREM</div>
      <div class="text">Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.</div>
    </div>
  </div>
  <div class="col-md-3">
    <div class="bggray2 text-center">
      <i class="far fa-edit fa-5x"></i>
      <div class="title">LOREM</div>
      <div class="text">Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.
      </div>
    </div>
  </div>
</div>

CSS 代码:

.icons i {
  color: #2759AE;
}
4

3 回答 3

18

Font Awesome 5svg用于图标和path内部设置,fill:currentColor因此只需更改颜色svg

.icons svg {
 color:#2759AE;
}
<script defer src="https://use.fontawesome.com/releases/v5.5.0/js/all.js"></script>
<div class="container mt200 icons">
  <div class="col-md-3">
    <div class="bggray2 text-center">
      <i class="fas fa-microphone fa-5x"></i>
      <div class="title">LOREM</div>
      <div class="text">Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.</div>
    </div>
  </div>
  <div class="col-md-3">
    <div class="bggray2 text-center">
      <i class="far fa-edit fa-5x"></i>
      <div class="title">LOREM</div>
      <div class="text">Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.
      </div>
    </div>
  </div>
</div>

正如您在代码中看到的,在加载 JS 版本时i将替换为:svg

在此处输入图像描述


如果您使用的是 CSS 版本,您可以应用颜色i

.icons i {
 color:#2759AE;
}
<link href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" rel="stylesheet"><div class="container mt200 icons">
  <div class="col-md-3">
    <div class="bggray2 text-center">
      <i class="fas fa-microphone fa-5x"></i>
      <div class="title">LOREM</div>
      <div class="text">Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.</div>
    </div>
  </div>
  <div class="col-md-3">
    <div class="bggray2 text-center">
      <i class="far fa-edit fa-5x"></i>
      <div class="title">LOREM</div>
      <div class="text">Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.
      </div>
    </div>
  </div>
</div>

因此,为了确保它在所有情况下都能正常工作,只需使用两个选择器:

.icons i,
.icons svg {
   color: #2759AE;
}
于 2018-02-04T13:36:35.653 回答
4

如果您使用的是 svg-with-js 版本的 Font Awesome 5,它会将 中的所有内容<i></i>预处理为<svg>. 它指定路径有fill="currentColor"所以,你必须以currentColor某种方式设置你想要的颜色。一种选择是:

svg {color: blue;}

官方文档推荐内联样式:

<i class="far fa-edit fa-5x" style="color:blue"></i>

或者,设置currentColor在外部元素之一中。例如:

<div class="bggray2 text-center" style="color: blue;">
  <i class="far fa-edit fa-5x"></i>
</div>

并将其移动到 CSS 文件中,您可以:

div .bggray2 {
    color: blue;
}
于 2018-04-22T15:41:34.570 回答
2

如果您使用的是 Bootstrap 4,您可以使用标签父级中的 text-'color' 设置。

<div class="bggray2 text-danger">
 <i class="far fa-edit fa-5x"></i>
 </div>
于 2019-07-12T15:02:12.070 回答