如何在活动时更改font-awesome图标颜色

时间:2016-05-30 10:04:56

标签: html css sass

如何在活动时更改font-awesome图标颜色,我有一个带有字体真棒链接的菜单,我想在活动时更改图标颜色,有些可以帮忙吗?

我确实读过有关状态:https://smacss.com/book/state,但仍然没有在我的代码中工作,它是一种使这项工作的方法吗?谢谢。

jsfiddle:https://jsfiddle.net/oosa8yzk/

我的HTML

 <ul>
      <li>
        <a class="menu" data-toggle="tooltip" data-placement="bottom" title="home">
          <i class="fa fa-bars fa-2x" aria-hidden="true"></i>
        </a>
      </li>
      <li>
        <a class="search"><i class="fa fa-search fa-2x" aria-hidden="true"></i></a>
      </li>
    </ul>

我的sass:

 ul {
   list-style-type: none;
   li {
     padding: 10px;
     border-top: 1px solid blue;
     &:first-child {
       border: none;
     }
     i {
       color: black;
       &:hover {
         color: white;
         background-color: blue;
       }
     }
     &:hover {
       background-color: blue;
       color: white;
     }
      &:active {
       background-color: yellow;
       color: black;
     }
       &:focus {
       background-color: red;
       color: white;
     }
   }
 }

我的css:

ul {
  list-style-type: none;
}
ul li {
  padding: 10px;
  border-top: 1px solid blue;
}
ul li:first-child {
  border: none;
}
ul li i {
  color: black;
}
ul li i:hover {
  color: white;
  background-color: blue;
}
ul li:hover {
  background-color: blue;
  color: white;
}
ul li:active {
  background-color: yellow;
  color: black;
}
ul li:focus {
  background-color: red;
  color: white;
}

3 个答案:

答案 0 :(得分:3)

您可以使用以下代码

.fa:active{
 color: #your-active-color;
}

答案 1 :(得分:2)

您的SCSS

li {
  // active pseudo on li 
  &:active {
    i { color: #your-active-color; }
  }

  a {
    // active pseudo on a link 
    &.active {
      i { color: #your-active-color; }
    }
  }

}

jQuery -

$(document).ready(function() {
  $('li a').on('click', function() {
    $('li a').removeClass('active');
    $(this).addClass('active');
  });
});

答案 2 :(得分:1)

您可以在html中添加自定义类,如下所示:

<ul>
  <li>
    <a class="menu" data-toggle="tooltip" data-placement="bottom" title="home">
      <i class="fa fa-bars fa-2x color" aria-hidden="true"></i>
    </a>
  </li>
  <li>
    <a class="search"><i class="fa fa-search fa-2x color" aria-hidden="true"></i></a>
  </li>
</ul>

然后,在你的css中,在活动事件中添加一个属性:

.color:active {
    color:red;
}