Search code examples
cssfont-awesomefont-awesome-5

How to change color of icons in Font Awesome 5?


I can't colorize the Font Awesome 5 icons using these codes. I tried fill css property for setting color but it didn't work.

HTML Code:

<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 Code:

.icons i {
  color: #2759AE;
}

Solution

  • Font Awesome 5 uses svg for icons and path inside are set with fill:currentColor so simply change color of 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>

    As you can see in the code, the i are replaced with svg when you load the JS version:

    enter image description here


    You can apply color to i in case you are using the CSS version.

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

    So to make sure it will work in all the cases simply use both selector:

    .icons i,
    .icons svg {
       color: #2759AE;
    }