I want the user icon and the lock icon to change color when the input is focused but I don't know how to do could anyone help me please ( I want the icon color to #c0392b )
<div class="input-icons">
<span class="fa fa-user"></span>
<input type="text" placeholder="Username">
</div>
<div class="input-icons">
<span class="fa fa-lock"></span>
<input type="password" placeholder="Password">
</div>
CSS
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,900);
@import "https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font- awesome.min.css";
input {
padding: 5px;
border-radius: 20px;
border: 1px solid #cccccc;
-webkit-box-shadow: inset 0px 0px 27px -8px rgba(0,0,0,0.75);
-moz-box-shadow: inset 0px 0px 27px -8px rgba(0,0,0,0.75);
box-shadow: inset 0px 0px 27px -8px rgba(0,0,0,0.75);
}
input:focus {
outline: none;
border: 1px solid #c0392b;
color: c0392b;
}
input:focus > .fa-user {
color: #c0392b;
}
.input-icons {
position: relative;
margin: 5px 100px 5px 100px;
}
.input-icons > input {
text-indent: 17px;
font-family: "Lato", sans-serif;
}
.input-icons > .fa-user {
position: absolute;
top: 7px;
left: 7px;
font-size: 15px;
color: #777777;
}
.input-icons > .fa-lock {
position: absolute;
top: 7px;
left: 7px;
font-size: 15px;
color: #777777;
}
Check out JSFiddle for a preview JSFiddle
you can try this
Your icon isn't inside the input field, that is how your CSS is described right now.
When you put the icon span after the input field, you can use the + selector to add css to the following element.
See this link https://www.w3.org/TR/CSS21/selector.html#adjacent-selectors
You can use
input:focus + .fa
css selector do accomplish the task. Notice that I've changed the<span class="fa fa-user"></span>
to come after input element.See more about the plus css selector
More about css selectors
See updated fiddle here