0

Here is my code:

span{
  color: #666;
}
span:before{
 content: "\f059";
 display: inline-block;
 vertical-align: middle;
 font-size: 15px;
  font-family: FontAwesome;
 color: #999;
  margin-right: 10px;
}

span:hover{
  color: red;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<span>something</span>

Now I need to make that icon red too on hover of <span>. How can I do that?

Martin AJ
  • 6,261
  • 8
  • 53
  • 111

3 Answers3

1

if you want just the before elem to change color :

span{
  color: #666;
}
span:before{
 content: "\f059";
 display: inline-block;
 vertical-align: middle;
 font-size: 15px;
  font-family: FontAwesome;
 color: #999;
  margin-right: 10px;
}

span:hover:before{
  color: red;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<span>something</span>
Chat_Noir
  • 61
  • 6
1

Add little css and you are done

span:hover:before {
  color: red;
}

Here is the snippet

span{
  color: #666;
}
span:before{
 content: "\f059";
 display: inline-block;
 vertical-align: middle;
 font-size: 15px;
  font-family: FontAwesome;
 color: #999;
  margin-right: 10px;
}

span:hover{
  color: red;
}

span:hover:before {
  color: red;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<span>something</span>
Zuber
  • 3,393
  • 1
  • 19
  • 34
0

Use following selector:

span:hover,
span:hover:before {
  color: red;
}

Demo:

span {
  color: #666;
}
span:before{
  content: "\f059";
  display: inline-block;
  vertical-align: middle;
  font-size: 15px;
  font-family: FontAwesome;
  color: #999;
  margin-right: 10px;
}

span:hover,
span:hover:before {
  color: red;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<span>something</span>
Mohammad Usman
  • 37,952
  • 20
  • 92
  • 95