28

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.

yodabar
  • 4,651
  • 2
  • 33
  • 38
Juliver Galleto
  • 8,831
  • 27
  • 86
  • 164

3 Answers3

36

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

ben@chromium.org 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.

yodabar
  • 4,651
  • 2
  • 33
  • 38
Ryan McDonough
  • 9,732
  • 3
  • 55
  • 76
10

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.

Community
  • 1
  • 1
Carl Boneri
  • 2,632
  • 1
  • 13
  • 15
  • 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 ;) – YannickHelmut Jan 31 '17 at 16:01
  • haha thanks for the tip! I'm an analyst; html and css are not my thing – Carl Boneri Jan 31 '17 at 16:04
1
.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;
}
yodabar
  • 4,651
  • 2
  • 33
  • 38
Amir
  • 11
  • 1
  • 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. – Christopher Davies Mar 12 '16 at 23:40