この記事は、ATOZ CSSシリーズの一部です。このシリーズの他のエントリをここで見つけることができます。対応するビデオ疑似要素の全文とスクリーンショットを表示できます。
ATOZ CSSシリーズへようこそ!このシリーズでは、アルファベットの異なる文字から始まるさまざまなCSS値(およびプロパティ)を探ります。スクリーンショットでは不十分な場合があることがわかっているため、この記事では、スタイルのプレースホルダーテキストに関する新しいヒントを追加しました。
pはプレースホルダーテキストを表します
pseudo-elements:before
and:after
は、非セマンチックな要素でマークアップを台無しにすることなく、複雑な設計機能を構築するのに最適です。 :first-line
や:first-letter
などの他の擬似要素では、HTMLドキュメントでマークされていない要素のスタイルにアクセスできます。
擬似要素のスクリーンショットでこれらの多くを見ましたが、見たことのない擬似要素の1つはプレースホルダーテキストのスタイルでした。この問題を解決しましょう。
最初に、次のHTML:
を想像しましょう<input class="name-field" type="text" placeholder="Enter your name">
以下に示すように、入力テキストの色を赤に設定できます:
.name-field { color: red; }
プレースホルダー属性に従って入力スタイルを選択して設定することもできます。
しかし、これは、プレースホルダーテキスト自体の外観を設定するのではなく、入力フィールドで入力フィールドに入力されたinput[placeholder="Enter your name"] { color: red; }
テキストのスタイルを作成します。これを行うには、プレースホルダーの擬似要素用の一連のベンダープレフィックスセレクターが必要です。
これは繰り返しのように見えますが、残念ながらこれを行うための簡潔な(繰り返さないでください)方法はありません。::-webkit-input-placeholder { color: red; } :-moz-placeholder {/*Firefox 18-*/ color: red; } ::-moz-placeholder {/*Firefox 19+*/ color: red; } :-ms-input-placeholder { color: red; }
次の方法は無効です:
これは、ブレース内にスタイルを適用するために、ブラウザがカンマ分離されたシリーズの各セレクターを「理解」できる必要があるためです。
::-webkit-input-placeholder, :-moz-placeholder, ::-moz-placeholder, :-ms-input-placeholder { color: red; }
を使用してプレースホルダースタイルを設定します この重複CSSを解決する1つの方法は、SASSハイブリッドマクロを使用することです。これは私がプロジェクトの99%で使用するものです:
プレースホルダースタイルを設定するときは、
特異性に注意を払ってください@mixin input-placeholder { ::-webkit-input-placeholder { @content; } :-moz-placeholder {/* Firefox 18- */ @content; } ::-moz-placeholder {/* Firefox 19+ */ @content; } :-ms-input-placeholder { @content; } } /* usage */ @include input-placeholder { color: red; }
IEブラウザでは、入力されたスタイルを設定すると、プレースホルダーテキストのスタイルセットをオーバーライドする場合があります。 @include
も設定されない限り、色が暗くなります。 opacity: 1
color: red
remormize.cssを使用している場合でも、このアイテムはリセットされません。完全に不透明なプレースホルダーがプロジェクトに不可欠である場合は、このヒントに留意してください!
に関する
FAQ
::placeholder
<input class="name-field" type="text" placeholder="Enter your name">
::-moz-placeholder
プレースホルダーテキストのフォントサイズを変更できますか? :-ms-input-placeholder
::-webkit-input-placeholder
はい、プレースホルダーテキストのフォントサイズを変更できます。色を変えるのと同じように、
これにより、プレースホルダーテキストのフォントサイズが18pxに変更されます。 ::placeholder
.name-field { color: red; }
プレースホルダーテキストの不透明度を変更できますか?
input[placeholder="Enter your name"] { color: red; }
属性を使用して実行できます。例は次のとおりです。
opacity
プレースホルダーテキストに背景色を追加する方法は?
::-webkit-input-placeholder { color: red; } :-moz-placeholder {/*Firefox 18-*/ color: red; } ::-moz-placeholder {/*Firefox 19+*/ color: red; } :-ms-input-placeholder { color: red; }
Pseudo-Elementsでは、プレースホルダーテキストの色、フォントサイズ、フォントスタイル、不透明度を設定することのみを行うことができます。
などの他の属性はサポートしていません。
::placeholder
いいえ、プレースホルダーテキストでCSSアニメーションを使用することはできません。 background-color
pseudo-elementsは、CSSアニメーションやトランジションをサポートしていません。
はい、さまざまな方法で異なるプレースホルダースタイルを設定できます。入力またはテキストエリア要素ごとに別のクラスまたはIDを使用するだけです。例は次のとおりです。::placeholder
::placeholder
で擬似クラスを使用できますか? いいえ、:hover
、:active
、:focus
などの擬似クラスを使用することはできません。 ::placeholder
擬似要素は擬似クラスをサポートしていません。 ::placeholder
::placeholder
で使用できます。これにより、画面のサイズやデバイスに応じて、プレースホルダーテキストをさまざまな方法でスタイリングできます。例は次のとおりです。::placeholder
<input class="name-field" type="text" placeholder="Enter your name">
以上がATOZ CSSクイックヒント:プレースホルダーテキストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。