CSS change icon color when input is focused

前端 未结 3 1426
盖世英雄少女心
盖世英雄少女心 2021-01-22 09:03

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 )

相关标签:
3条回答
  • 2021-01-22 09:43

    you can try this

     <div class="input-pilotage">
       <input type="text">
       <label> date fin : </label>
       <i class="fi-calendar"></i>
     </div>
    
    //css
    .input-pilotage input:focus + label {
        color: #005EB8;
    }
    .input-pilotage input:focus + label + i {
        color: #005EB8;
    }
    
    0 讨论(0)
  • 2021-01-22 09:58

    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

    0 讨论(0)
  • 2021-01-22 10:03

    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

    @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 {
        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;
    }
    
    <div class="input-icons">
         <input type="text" placeholder="Username">
         <span class="fa fa-user"></span>
    </div>
    
    <div class="input-icons">
        <input type="password" placeholder="Password">
        <span class="fa fa-lock"></span>
    </div>
    
    0 讨论(0)
提交回复
热议问题