2017.2.6
2020.1.7

placeholderの文字色を変更する

CSSでplaceholderとして表示している文字列のカラーを変更する方法です。

標準版とブラウザ毎のベンダープレフィックス版がありますが、今のところは、両方とも記述した方が良さそうです。

コード


/* 標準版 */
:placeholder-shown {color: red;}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {color: red; }

/* Firefox 18- */
:-moz-placeholder {color: red; opacity: 1; }     

/* Firefox 19+ */
::-moz-placeholder {color: red; opacity: 1; }

/* IE 10+ */
:-ms-input-placeholder {color: red; }

動作確認したブラウザは、Chrome 55、Firefox 51、Safari 10.0、Edge 38 の4つ。

上記ブラウザのうち、標準版として動作したのはFirefoxのみで、Edgeは「::-webkit-input-placeholder」で動作しました。

まだまだベンダープレフィックスは必要そうです。

最近、flexboxやアニメーションなどの利用が増えてきたためか、ベンダープレフィックスを付けるのが面倒になってきました。ベンダープレフィックスを自動でつけてくれるらしい? Autoprefixerというのがあるようなのでwebpackを利用して使ってみたいです。

参考リンク

CSS】関連記事