web-dev-qa-db-ja.com

フォーカスでプレースホルダーの色を変更する方法は?

入力フィールドにフォーカスするときにプレースホルダーの色を変更する方法は?このCSSを使用してデフォルトの色を設定しますが、フォーカス時にそれを変更するにはどうすればよいですか?

::-webkit-input-placeholder { color: #999; }

/* Firefox < 19 */
:-moz-placeholder { color: #999; }

/* Firefox > 19 */
::-moz-placeholder { color: #999; }

/* Internet Explorer 10 */
:-ms-input-placeholder { color: #999; }
53
Davide

これを試してください、これは動作するはずです:

input::-webkit-input-placeholder {
    color: #999;
}
input:focus::-webkit-input-placeholder {
    color: red;
}

/* Firefox < 19 */
input:-moz-placeholder {
    color: #999;
}
input:focus:-moz-placeholder {
    color: red;
}

/* Firefox > 19 */
input::-moz-placeholder {
    color: #999;
}
input:focus::-moz-placeholder {
    color: red;
}

/* Internet Explorer 10 */
input:-ms-input-placeholder {
    color: #999;
}
input:focus:-ms-input-placeholder {
    color: red;
}

例は次のとおりです。 http://jsfiddle.net/XDutj/27/

106
Pranav 웃

Pranavの回答に加えて、textareaとの互換性を備えたコードを改良しました。

::-webkit-input-placeholder { color: #999; }
:-moz-placeholder { color: #999; }

:focus::-webkit-input-placeholder { color: #ccc; }
:focus:-moz-placeholder { color: #ccc; }​
5
Davide

スター*を使用してすべてを選択します

*::-webkit-input-placeholder { color: #999; }


*:-moz-placeholder { color: #999; }


*::-moz-placeholder { color: #999; }


*:-ms-input-placeholder { color: #999; }
1
KeepMove

次は私のために働いた:

input:focus::-webkit-input-placeholder
{
    color: red;
}
1
Bel

これを試して:

HTML

<input type='text' placeholder='Enter text' />

CSS

input[placeholder]:focus { color: red; }
1
Kevin Boucher

私はJQueryでこのソリューションを見つけました:

 $('input[type="text"]').each(function(){

    $(this).focus(function(){
      $(this).addClass('input-focus');
    });

    $(this).blur(function(){
      $(this).removeClass('input-focus');
    });

  });

このCSSで:

.input-focus::-webkit-input-placeholder { color: #f00; }    
.input-focus:-moz-placeholder { color: #f00; }
.input-focus:-ms-input-placeholder { color: #f00; }
1
Davide

Firefox 19から:プレースホルダー属性を持つフォーム要素に一致する:-moz-placeholder擬似クラスが削除され、代わりに::-moz-placeholder擬似要素が追加されました。

input:focus::-moz-placeholder { color: transparent; }
0
Leszek Pietrzak