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.

7voto

AmerllicA Punkte 22941

Google Chrome User Agent verhindert Entwickler CSS Also zum Ändern autofill UI muss eine andere Eigenschaft wie diese verwenden:

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #d500ff inset !important;
    /*use inset box-shadow to cover background-color*/
    -webkit-text-fill-color: #ffa400 !important;
    /*use text fill color to cover font color*/
}

0 Stimmen

En box-shadow Eigenschaft muss nicht mit einem Präfix versehen werden -webkit- mehr, und es wäre performanter, die Größe auf die Hälfte der Höhe der Eingabe zu setzen (anstatt 1000px ) - soweit möglich, versteht sich. Aber ansonsten ist dies leider die beste Lösung für das Problem

6voto

Ali Bagheri Punkte 2436

So kann ich den gelben Hintergrund des Feldes entfernen:

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
input:-webkit-autofill:valid,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-transition-delay: 99999s;
    -webkit-text-fill-color:#D7D8CE;
}

5voto

ed1nh0 Punkte 1432

Ich gebe auf!

Da es keine Möglichkeit gibt, die Farbe der Eingabe mit Autovervollständigung zu ändern, beschließe ich, sie alle mit jQuery für Webkit-Browser zu deaktivieren. Etwa so:

if (/webkit/.test(navigator.userAgent.toLowerCase())) {
    $('[autocomplete="on"]').each(function() {
        $(this).attr('autocomplete', 'off');
    });
}

5voto

tahmasib Punkte 71

Es ist möglich, die Farbe dieses Feldes zu ändern, wie die akzeptierte Antwort.

Diese Methode ist jedoch nicht sinnvoll, wenn Sie den Hintergrund transparent machen wollen. Es gibt jedoch einen Weg (oder eher eine Umgehung), um ihn transparent zu machen, wie folgt:

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  {
    transition: background-color 5000s;
    -webkit-text-fill-color: #fff !important;
}

Dies ist im Grunde genommen gleichbedeutend mit einem transparenten Hintergrund.

1 Stimmen

Dies ist die einzige, die in einem modernen Chrome funktioniert

5voto

jedmao Punkte 9676

Für diejenigen, die Compass verwenden:

@each $prefix in -webkit, -moz {
    @include with-prefix($prefix) {
        @each $element in input, textarea, select {
            #{$element}:#{$prefix}-autofill {
                @include single-box-shadow(0, 0, 0, 1000px, $white, inset);
            }
        }
    }
}

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