CSSで、input要素や、textarea要素のplaceholderの色を変更する方法についてです。
placeholderとは?
「placeholder」はテキスト系のinput要素や、textareaに何も入力がない状態で、代わりに表示される、ガイド用のテキストです。ブラウザーのデフォルトスタイルでも、通常の入力テキストよりも薄い色で表示されているはずです。
placeholderの色の設定方法
スタイルシートでは、Placeholderに、下記のPsuedo(疑似)クラスが利用できます。
::placeholder{ color:#ccc }
実装例
CSSのplaceholder の実装例です。
See the Pen Placeholder by Joe (@akajoe) on CodePen.
ブラウザの対応状況
実際には、placeholderのCSSプロパティは、まだすべてのブラウザでサポートされていません。2017年現在、上記がより一般化するにはもうすこし時間がかかるでしょう。
2020年1月現在、placeholderのCSSプロパティは、IEを除く多くのメジャーなブラウザでサポートが完了しています。
ただし、EdgeやChromeの古いバージョンなど、完全にクロスブラウザ対応を行うには、各ブラウザのプリフィックスを使った対応が必要です。
::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color:#ccc; } :-ms-input-placeholder { /* Internet Explorer 10-11 */ color:#ccc; } ::placeholder{ /* Others */ color:#ccc }
実際には、クロスブラウザ対応は、自身でプリフィックスを取り扱うよりは、ツールを用いたほうがよいでしょう。
例えば下記は、自動で各ブラウザの最新バージョンを踏まえたのプリフィックスを付与してくれます。
上記はオンラインですが、ローカル環境においても、様々なプリフィクスを管理する方法があります。