Remove the yellow background on input on autofill

32,933

Solution 1

Oddly enough this is the intended behaviour from webkit to let the user infer it was autofilled.

[email protected] We inherit this coloring behavior from WebKit and I believe it's by design. It allows the user to understand the data has been prefilled.

You can use:

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset;
}

Which will change the background to white.

You can also turn auto complete off by adding:

autocomplete="off"

E.g

<input type="text" name="some_name" autocomplete="off"></input>

To your input, but for usability I would suggest against this.

Solution 2

Add this to your header
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus
input:-webkit-autofill, 
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border:none !important;
  -webkit-text-fill-color: inherit !important;
  -webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset;
  transition: background-color 5000s ease-in-out 0s;
}

This seems to fix the after-effect of the yellow re-populating on mouseleave

GIF of with and without.

Solution 3

.form-item-search-block-form input:focus, 
.form-item-search-block-form input:hover, 
.form-item-search-block-form input:active {
    outline: 0 none;
    border: 0 none;
    background: #282828;
    background: url("../images/search_btn.png") no-repeat 96% 9px;
    color: rgb(202,202,202);
}

.form-item-search-block-form input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #282828 inset;
    -moz-box-shadow: 0 0 0 1000px #282828 inset;
    box-shadow: 0 0 0 1000px #282828 inset;
    -webkit-transition: all 0.7s ease 0s;
    -moz-transition: all 0.7s ease 0s;
    -o-transition: all 0.7s ease 0s;
    transition: all 0.7s ease 0s;
    -webkit-text-fill-color: #eee !important;
}
Share:
32,933

Related videos on Youtube

Juliver Galleto
Author by

Juliver Galleto

Will I am just a just a just a just simple man who loves to code around. :D

Updated on April 22, 2020

Comments

  • Juliver Galleto
    Juliver Galleto about 4 years

    Anyone knows how to remove this ugly chrome background when autofill? (Refer below.)

    enter image description here

    So far I tried:

    *:focus {
        outline: 0;
    }
    input:-webkit-autofill {
        -webkit-box-shadow: none;
        -webkit-text-fill-color: #fff !important;
    }
    button:focus, input:focus, a:focus {
        text-decoration: none !important;
        outline: none !important;
    }
    

    Sadly, none of them works. Any help, ideas, clues, suggestions would be greatly appreciated.

    • Anwar
      Anwar about 9 years
      Do you mind turning the autocomplete to false ? It could radically solve your issue.
    • Juliver Galleto
      Juliver Galleto about 9 years
      @Zeratops: how to do that?
    • Alupotha
      Alupotha about 9 years
    • Anwar
      Anwar about 9 years
      Like this. Simply add autocomplete="off" in your inputs.
    • Juliver Galleto
      Juliver Galleto about 9 years
      @Zeratops: cool, this works at least not able to see that ugly background on autofill. thank you!
    • jbutler483
      jbutler483 about 9 years
  • Juliver Galleto
    Juliver Galleto about 9 years
    will thats what i tried earlier but seems not working still, I have a custom background image on my input and what i want is to remain that background image in any cases.
  • Juliver Galleto
    Juliver Galleto about 9 years
    autocomplete off. thats the least I could do for this ugly issue right now. thank you.
  • Christopher Davies
    Christopher Davies about 8 years
    This worked for me. Unfortunately, I wanted to make my background transparent (so you could see an icon behind it) and that made it show the yellow again so the icon was still covered. But for those who want the background to be solid, this seems to work.
  • YannickHelmut
    YannickHelmut over 7 years
    Just one thing, your should add box-shadow: 0 1px 0 0 #26a69a, inset 0 0 0px 9999px white so that your box-shadow line stays when you have material-design inputs ;)
  • Carl Boneri
    Carl Boneri over 7 years
    haha thanks for the tip! I'm an analyst; html and css are not my thing
  • Naseem Ahamed
    Naseem Ahamed over 2 years
    Thanks! I was brooding over it for a long time.