入力フィールドにフォーカスするときにプレースホルダーの色を変更する方法は?この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; }
これを試してください、これは動作するはずです:
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/
Pranavの回答に加えて、textareaとの互換性を備えたコードを改良しました。
::-webkit-input-placeholder { color: #999; }
:-moz-placeholder { color: #999; }
:focus::-webkit-input-placeholder { color: #ccc; }
:focus:-moz-placeholder { color: #ccc; }
スター*
を使用してすべてを選択します
*::-webkit-input-placeholder { color: #999; }
*:-moz-placeholder { color: #999; }
*::-moz-placeholder { color: #999; }
*:-ms-input-placeholder { color: #999; }
次は私のために働いた:
input:focus::-webkit-input-placeholder
{
color: red;
}
これを試して:
HTML
<input type='text' placeholder='Enter text' />
CSS
input[placeholder]:focus { color: red; }
私は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; }
Firefox 19から:プレースホルダー属性を持つフォーム要素に一致する:-moz-placeholder擬似クラスが削除され、代わりに::-moz-placeholder擬似要素が追加されました。
input:focus::-moz-placeholder { color: transparent; }