2016-07-24 13 views
1

Ich habe Login-Popup auf einer Webseite. Das Login-Formular enthält zwei Felder Benutzername und Passwort. Beide Eingabefelder haben ein Hintergrundbild (dargestellt mit Hilfe von CSS).Chrome Browser versteckt Hintergrundbild im Eingabefeld auf AutoFill

Aber während der Anmeldung, AutoFill von Chrome Browser füllt Daten in den Formularfeldern und verbirgt Hintergrundbild, Bild wird auf der äußersten linken Seite der Eingabefelder angezeigt. Also, es ist nicht wie Text ist das Bild überschreiben.

Ich lese andere Antworten suggerieren bewegte Bild aus den Eingabefeldern. Ich brauche nur ein Bild im Eingabefeld. Welcher CSS- oder JS-Trick kann hier verwendet werden, um ein Hintergrundbild in einem Eingabefeld anzuzeigen, selbst wenn der Chrome-Browser automatisch ausgefüllt wird? Hier

ist, was ich versuche:

HTML:

<input class="form-text-inputs" 
     type="text" 
     name="password" 
     ng-pattern="ctrl.usernameRegex" 
     placeholder="{{'USER.PASSWORD_PLACEHOLDER' | translate}}" 
     ng-model="ctrl.password" 
     maxlength="50" 
     required> 

CSS:

input[type = 'password'] { 
    background-image: url(../assets/images/passwordimage.png) ; 

    padding-left: 36px; 
} 

Antwort

0

Endlich die Lösung gefunden. So sieht es jetzt aus.

input[type = 'password'] { 
background-image: url(../assets/images/password.png) ; 
-webkit-appearance: none; 
padding-left: 36px;} 

input[type = 'password']:-webkit-autofill { 
background-image: url(../assets/images/password.png) ; 


-webkit-appearance: none; 
padding-left: 36px; 
-webkit-box-shadow: 0 0 0 1000px white inset !important; 

} 
+0

Es funktioniert nicht. Es überschreibt nur die Hintergrundfarbe, aber nicht das Hintergrundbild. – shaosh

0

Sie können durch Hinzufügen autocomplete="off" mit dem Eingangselement des Browsers in-built die automatische Vervollständigung deaktivieren .

<input class="form-text-inputs" 
     type="text" 
     name="username" 
     ng-pattern="ctrl.usernameRegex" 
     placeholder="{{'USER.USERNAME_PLACEHOLDER' | translate}}" 
     ng-model="ctrl.username" 
     maxlength="50" 
     required autocomplete="off"> 

Auch der CSS-Selektor ist falsch. Es sollte input[type=text] statt input[type=username] sein

+1

Einstellung autocomplete = "off" wird normalerweise nicht gut mit Chrom funktionieren. Überprüfen Sie diesen Thread: http://StackOverflow.com/Questions/12374442/Chrome-Browser-ignoring-Autocomplete-Off –

+0

Danke korrigiert den Fehler. habe meine Frage aktualisiert. Auch Autocomplete = "off" scheint mir in diesem Fall nicht zu helfen. – Deepak

+0

Okay, warum willst du kein Bild aus dem Eingabefeld benutzen? –

Verwandte Themen