2015-01-15 7 views
7

ich schreibe eine mobile Websites und ich style es mit Hass.:: - webkit-input-placeholder funktioniert nicht

Ich möchte die Platzhalterfarbe des Textinput ändern, aber ich bin nicht in der Lage, dies zu tun.

Dies ist der mixin für den Platzhalter

@mixin placeholder($color) { 
    ::-webkit-input-placeholder {color: $color} 
    :-moz-placeholder   {color: $color} 
    ::-moz-placeholder   {color: $color} 
    :-ms-input-placeholder  {color: $color} 
} 

Und dann benutze ich sie in eine Klasse enthalten

.input-class { 
    @include placeholder(#FFFFFF); 
} 

Schließlich

<input class="input-class" ...> 

aber nichts, um die Klasse auf den Eingang eingestellt das passiert. Außerdem hat meine IDE einen Fehler in den Mixins-Zeilen gesetzt, der mich sagt: "Unbekannter Pseudo-Selektor -webkit-Eingabeplatzhalter" und Chrome scheint diesen Tag nicht zu erkennen.

Wie kann ich die Farbe des Platzhalters ändern? Egal ob die Antwort in Sass oder CSS ist.

Vielen Dank im Voraus.

+0

Siehe auch: http://stackoverflow.com/a/17181946/1652962 – cimmanon

Antwort

30

Sie können nicht einzelne verwenden, nur mit Wahl:

input::-webkit-input-placeholder { 
    color: #9B9B9B; 
} 

input:-ms-input-placeholder { 
    color: #9B9B9B; 
} 

input::-moz-placeholder { 
    color: #9B9B9B; 
} 

Mixin:

@mixin placeholder($selector, $color) { 
    #{$selector}::-webkit-input-placeholder {color: $color} 
    #{$selector}::-moz-placeholder   {color: $color} 
    #{$selector}:-ms-input-placeholder  {color: $color} 
} 

Nutzungs:

@include placeholder('.input-class', #FFFFFF); 

Live example

P.S. Verwenden Sie sie nicht alle zusammen (dieser Selektor ist gebrochen und CSS-Parser wird nicht immer):

input::-webkit-input-placeholder,//Not WebKit will fails here 
input:-ms-input-placeholder,//Not IE will fails here 
input::-moz-placeholder {//Not Firefox will fails here 
    color: #9B9B9B; 
} 
+0

Dank! Aber ich muss eine Anwendung machen, die auf allen Browsern funktioniert ... wenn ich sie nicht zusammen benutzen kann, wie könnte ich das tun? Danke! – guest9119

+1

Deine und meine Mixins haben Recht. Es funktioniert gut. Meine Notiz behandelt die Erstellung eines gemeinsamen Selektors für alle Platzhalter-Selektoren. – Pinal

+0

Sorry ein anderes Mal, aber es funktioniert immer noch nicht :( – guest9119