1026 Stimmen

Entfernen der Hintergrundfarbe von Eingaben für die Chrome-Autovervollständigung?

In einem Formular, an dem ich gerade arbeite, füllt Chrome die Felder für E-Mail und Kennwort automatisch aus. Das ist in Ordnung, aber Chrome ändert die Hintergrundfarbe in ein helles Gelb.

Das Design, an dem ich arbeite, verwendet hellen Text auf dunklem Hintergrund, so dass dies das Aussehen des Formulars wirklich durcheinander bringt - ich habe starke gelbe Kästchen und fast unsichtbaren weißen Text. Sobald das Feld fokussiert ist, werden die Felder wieder normal angezeigt.

Ist es möglich, Chrome davon abzuhalten, die Farbe dieser Felder zu ändern?

4 Stimmen

Die Tatsache, dass diese Frage überhaupt gestellt werden muss, zeigt, wie weltfremd Google ist.

87voto

Dies ist meine Lösung, ich habe einen Übergang und eine Übergangsverzögerung verwendet, damit ich einen transparenten Hintergrund auf meinen Eingabefeldern haben kann.

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-transition: "color 9999s ease-out, background-color 9999s ease-out";
    -webkit-transition-delay: 9999s;
}

8 Stimmen

Ich habe ein Bild als Hintergrund für das Eingabefeld festgelegt, diese Lösung entfernt den gelben Schatten, aber das Hintergrundbild ist immer noch versteckt

0 Stimmen

Bisher beste Lösung, funktioniert hervorragend mit bestehenden box-shadow zur Validierung

0 Stimmen

Chrom sagte "color 9999s ease-out, background-color 9999s ease-out"; ist kein gültiger Ausdruck. Ich habe dann Code verwendet, -webkit-transition: background-color 9999s ease-out; y -webkit-text-fill-color: #fff !important;

63voto

Mohamed Mansour Punkte 38017

Dies wurde so konzipiert, da diese Färbung Verhalten von WebKit gewesen ist. Es ermöglicht dem Benutzer zu verstehen, dass die Daten vorausgefüllt wurden. Fehler 1334

Sie können die automatische Vervollständigung deaktivieren, indem Sie (oder auf dem spezifischen Formularsteuerelement:

<form autocomplete="off">
...
</form

Sie können aber auch die Farbe der automatischen Ausfüllung ändern, indem Sie dies tun:

input:-webkit-autofill {
    color: #2a2a2a !important;
}

Beachten Sie, dass es einen Fehler gibt, der verfolgt wird, damit dies wieder funktioniert: http://code.google.com/p/chromium/issues/detail?id=46543

Dies ist ein WebKit-Verhalten.

28 Stimmen

Danke, aber die Webkit-CSS-Regel funktioniert nicht. Der Benutzer-Agent-Stylesheet ist immer über die Hintergrundfarbe, auch mit ihm (a) auf gesetzt !important und (b) mit einer ID für höhere Spezifität. Es sieht so aus, als würde Chrome diese Funktion immer außer Kraft setzen. Entfernen autocomplete scheint zu funktionieren, aber es ist wirklich nicht das, was ich tun möchte.

1 Stimmen

Einige Leute haben das gleiche Problem, haben Sie den Bug-Post überprüft? code.google.com/p/chromium/issues/detail?id=1334

8 Stimmen

Chrome blockiert alle CSS-Versuche, diese gelbe Farbe zu überschreiben. Einstellung autocomplete="off" wird sicherlich Fragen der Zugänglichkeit aufwerfen. Warum ist diese Antwort trotzdem als richtig markiert?

49voto

Tamás Pap Punkte 16940

Ein möglicher Ausweg besteht darin, einen "starken" Innenschatten zu setzen:

input:-webkit-autofill {
    -webkit-box-shadow:0 0 0 50px white inset; /* Change the color to your own background color */
    -webkit-text-fill-color: #333;
}

input:-webkit-autofill:focus {
    -webkit-box-shadow: /*your box-shadow*/,0 0 0 50px white inset;
    -webkit-text-fill-color: #333;
}

3 Stimmen

Dies ist die Lösung, die tatsächlich funktioniert, wir wollen den gelben Hintergrund nicht nur einige Male auslassen, wie es die akzeptierte Antwort zur Folge hätte.

27voto

don Punkte 537

Nach 2 Stunden Suche scheint es, dass Google die gelbe Farbe immer noch irgendwie überschreibt, aber ich habe die Lösung dafür gefunden. Das ist richtig. es wird für Hover, Fokus usw. als auch arbeiten. alles, was Sie tun müssen, ist hinzufügen !important zu ihm.

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0px 1000px white inset !important;
}

Dadurch wird Gelb aus den Eingabefeldern vollständig entfernt.

27voto

Francisco Costa Punkte 6095

Versuchen Sie dies, um den Autofill-Stil auszublenden

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:active,
input:-webkit-autofill:focus {
    background-color: #FFFFFF !important;
    color: #555 !important;
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: #555555 !important;
}

1 Stimmen

Für Neugierige: Die Hintergrundfarbe hat keine Auswirkungen. Der -webkit-box-shadow ist der clevere Teil, der den gelben Hintergrund in Chrome außer Kraft setzt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X