如何在活动时更改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;
}
答案 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;
}