Platzhalter-Styling-CSS. CSS-Stil zum Platzhalter hinzufügen

Platzhalter – ein Eingabefeldelement, in dem Sie einen Hinweis platzieren können. Wenn der Benutzer beginnt, Daten einzugeben, verschwindet der Hilfetext, um nicht zu stören. Jeder Browser hat seine eigene Meinung darüber, wie dieses Element angezeigt werden sollte, und manchmal brechen die Standardstile das gesamte Design. Um sie zu steuern, müssen Sie eine spezielle Platzhalter-CSS-Regel verwenden.

Wo ist der Platzhalter?

Das Problem ist, dass der Hinweis auf das Eingabefeld sicher im Schatten-DOM versteckt ist und nicht so leicht zu erreichen ist. Dafür wird ein spezielles Nicht-Standard-Pseudo-Element CSS::placeholder verwendet. Damit können Sie die Eigenschaften des Tooltips steuern.

Sie werden interessiert sein:

Das Stylen des Platzhalters in CSS sieht so aus:

input::placeholder ( Farbe: rot; Deckkraft: 1; Schriftstil: kursiv; )

Browser-Unterstützung

Das CSS-Platzhalter-Pseudo-Element wird von allen gut gehandhabt moderne Browser, und um ältere Browser zu unterstützen, können Sie Präfixe verwenden:

  • ::-webkit-input-placeholder - für Webkit-Browser (Safari, Chrome, Opera);
  • ::-moz-Platzhalter - für Firefox-Browserüber Version 19;
  • :-moz-placeholder - für alten Firefox;
  • :-ms-Eingabeplatzhalter - für Internet Explorerüber Version 10.

Wie Sie sehen können, betrachten ältere Mozilla-Browser sowie IE den Platzhalter als eine CSS-Pseudo-Klasse, nicht als ein Pseudo-Element. Wir werden nicht mit ihnen streiten, wir werden diesen Aspekt nur beim Styling des Eingabefelds berücksichtigen.

Styling-Optionen

Für das Platzhalter-Pseudo-Element in CSS können Sie festlegen folgenden Parameter:

  • background - eine Gruppe von Hintergrundeigenschaften. Der Hintergrund des Hinweisblocks erstreckt sich über das gesamte Eingabefeld. Sie können nicht nur die Farbe (background-color), sondern auch das Bild (background-image) einstellen.
  • Textfarbe - Farbe;
  • Transparenz - Opazität;
  • unterstrichen, überstrichen oder durchgestrichen - Textdekoration;
  • register - Texttransformation;
  • Polsterung - Polsterung. Nicht von allen Browsern unterstützt. Wie bei Inline-Elementen wird das Auffüllen oben und unten ignoriert.
  • Schriftanzeige - Eigenschaften der Schriftgruppe, Zeilenhöhe und verschiedene Einzüge (Texteinzug, Buchstabenabstand, Wortabstand);
  • vertikale Ausrichtung in Linie - vertikal-ausrichten;
  • Abschneiden von Text, wenn der Container überläuft - Textüberlauf.

Input1::placeholder ( Hintergrundbild: linear-gradient(lime, blue); color: white; ) .input2::placeholder ( text-decoration: line-through; color: purple; font-weight: bold; ) .input3 ::placeholder ( Schriftgröße: 16px; Buchstabenabstand: 10px; ) .input4::placeholder ( Hintergrund: braun; Farbe: weiß; Textüberlauf: Auslassungspunkte; )

Im Fokus

Standardmäßig verschwindet der Hinweis nur dann aus dem Eingabefeld, wenn mindestens ein Zeichen darin eingegeben wird. Aber das CSS-Platzhalter-Pseudo-Element ermöglicht es Ihnen, das Verschwinden sofort zu implementieren, wenn das Feld fokussiert wird. Dazu müssen Sie es mit der Pseudoklasse :focus kombinieren.

input:focus::placeholder ( Farbe: transparent; )

In einigen Browsern ist es akzeptabel, eine Änderung in einer Reihe von Platzhaltereigenschaften mit der Übergangsanweisung zu animieren.

input::placeholder ( Farbe: schwarz; Übergang: Farbe 1s; ) input:focus::placeholder ( Farbe: weiß; )

Im Browser Google Chrome die Farbe des Hinweises beim Fokussieren auf ein solches Feld ändert sich fließend innerhalb einer Sekunde.

Platzhalter, diese häufig ausgegrauten Textelemente in einer Eingabe, können schwierig zu gestalten sein. Glücklicherweise haben wir eine kurze, aber effektive CSS-Lösung gefunden, um den Platzhaltertext Ihrer Eingabe in jeder gewünschten Farbe und Deckkraft zu gestalten. Lesen Sie weiter für den Code.

Textfarbe des Platzhalters ändern

Beginnen wir mit einer einfachen Eingabe und etwas Platzhaltertext. Für dieses Beispiel verwenden wir das Wort "Suche", aber Sie können alles verwenden, was Sie wollen. Das grundlegende HTML ist unten:

HTML


Der Platzhaltertext für die Eingabe (und den Textbereich) hat standardmäßig eine hellgraue Farbe, aber wir können dies mit ein paar Zeilen CSS ändern. Hier färben wir den Eingabetext mithilfe eines HTML-Farbnamens rot, aber jede Farbmethode ist ausreichend (HEX, RGB, HSL).

css
::-webkit-input-placeholder ( /* Chrome */ color: red; ) :-ms-input-placeholder ( /* IE 10+ */ color: red; ) ::-moz-placeholder ( /* Firefox 19 + */ Farbe: rot; Deckkraft: 1; ) :-moz-placeholder ( /* Firefox 4 - 18 */ Farbe: rot; Deckkraft: 1; )

Beachten Sie, dass es wichtig ist, die verschiedenen Anbieterpräfixe einzubeziehen, um so viele Browser wie möglich zu unterstützen. Nur der Eingabeplatzhaltertext von Firefox ist standardmäßig leicht transparent, sodass es unnötig ist, die Opazitätseigenschaft in IE oder Chrome festzulegen.

Fokustextfarbe des Platzhalters ändern

In Ordnung, wir haben die Farbe des Platzhaltertextes erfolgreich in Rot geändert, aber es wäre schön, wenn etwas passieren würde, wenn ein Benutzer in unsere Eingabe klickt. Mit denselben CSS-Eigenschaften mit Anbieterpräfix können wir die Deckkraft des Eingabeplatzhaltertexts ändern im Fokus.

css
input ( outline: none; padding: 12px; border-radius: 3px; border: 1px solid black; ) ::-webkit-input-placeholder ( /* Chrome */ color: red; transition: opacity 250ms ease-in-out ; ) :focus::-webkit-input-placeholder ( Deckkraft: 0,5; ) :-ms-input-placeholder ( /* IE 10+ */ Farbe: rot; Übergang: Deckkraft 250 ms Ease-in-out; ) :focus :-ms-input-placeholder ( Deckkraft: 0,5; ) ::-moz-placeholder ( /* Firefox 19+ */ Farbe: rot; Deckkraft: 1; Übergang: Deckkraft 250 ms Ease-in-out; ) :focus:: -moz-Platzhalter ( Deckkraft: 0,5; ) :-moz-Platzhalter ( /* Firefox 4 - 18 */ Farbe: rot; Deckkraft: 1; Übergang: Deckkraft 250 ms Ease-in-out; ) :focus:-moz-placeholder ( Deckkraft: 0,5; )

Im obigen Beispiel haben wir einige grundlegende Stile in die Eingabe selbst eingefügt und einen Übergang zur Deckkraft hinzugefügt, um das Erlebnis ein wenig angenehmer zu gestalten. Sehen Sie sich die Demo an und experimentieren Sie mit anderen CSS-Eigenschaften und -Übergängen.

Platzhalter – ein Eingabefeldelement, in dem Sie einen Hinweis platzieren können. Wenn der Benutzer beginnt, Daten einzugeben, verschwindet der Hilfetext, um nicht zu stören. Jeder Browser hat seine eigene Meinung darüber, wie dieses Element angezeigt werden sollte, und manchmal brechen die Standardstile das gesamte Design. Um sie zu steuern, müssen Sie eine spezielle Platzhalter-CSS-Regel verwenden.

Wo ist der Platzhalter?

Das Problem ist, dass der Hinweis auf das Eingabefeld sicher im Schatten-DOM versteckt ist und nicht so leicht zu erreichen ist. Dafür wird ein spezieller nicht standardmäßiger ::Platzhalter verwendet. Damit können Sie die Eigenschaften des Tooltips steuern.

Das Stylen des Platzhalters in CSS sieht so aus:

Input::placeholder ( Farbe: rot; Deckkraft: 1; Schriftstil: kursiv; )

Browser-Unterstützung

Das CSS-Platzhalter-Pseudoelement wird von allen modernen Browsern gut verarbeitet, und Präfixe können verwendet werden, um ältere Browser zu unterstützen:

  • ::-webkit-input-placeholder - für Webkit-Browser (Safari, Chrome, Opera);
  • ::-moz-placeholder - für Firefox-Browser ab Version 19;
  • :-moz-placeholder - für alten Firefox;
  • :-ms-input-placeholder - für Internet Explorer ab Version 10.

Wie Sie sehen können, betrachten ältere Mozilla-Browser sowie IE den Platzhalter als eine CSS-Pseudo-Klasse, nicht als ein Pseudo-Element. Wir werden nicht mit ihnen streiten, wir werden diesen Aspekt nur beim Styling des Eingabefelds berücksichtigen.

Styling-Optionen

Folgende Optionen können Sie für das Platzhalter-Pseudo-Element in CSS einstellen:

  • Hintergrund - Hinweisblockgruppe gilt für das gesamte Eingabefeld. Sie können nicht nur die Farbe (background-color), sondern auch das Bild (background-image) einstellen.
  • Textfarbe - Farbe;
  • Transparenz - Opazität;
  • unterstrichen, überstrichen oder durchgestrichen - Textdekoration;
  • register - Texttransformation;
  • Polsterung - Polsterung. Nicht von allen Browsern unterstützt. Wie bei Inline-Elementen wird das Auffüllen oben und unten ignoriert.
  • Schriftanzeige - Eigenschaften der Schriftgruppe, Zeilenhöhe und verschiedene Einzüge (Texteinzug, Buchstabenabstand, Wortabstand);
  • vertikale Ausrichtung in Linie - vertikal-ausrichten;
  • Abschneiden von Text, wenn der Container überläuft - Textüberlauf.
.input1::placeholder ( Hintergrundbild: linear-gradient(lime, blue); color: white; ) .input2::placeholder ( text-decoration: line-through; color: purple; font-weight: bold; ) . input3::placeholder ( Schriftgröße: 16px; Buchstabenabstand: 10px; ) .input4::placeholder ( Hintergrund: braun; Farbe: weiß; Textüberlauf: Auslassungspunkte; )

Im Fokus

Standardmäßig verschwindet der Hinweis nur dann aus dem Eingabefeld, wenn mindestens ein Zeichen darin eingegeben wird. Der Platzhalter ermöglicht es Ihnen jedoch, das Verschwinden sofort zu implementieren, wenn Sie sich auf das Feld konzentrieren. Dazu müssen Sie es mit der Pseudoklasse :focus kombinieren.

Input:focus::placeholder ( Farbe: transparent; )

In einigen Browsern ist es akzeptabel, eine Änderung in einer Reihe von Platzhaltereigenschaften mit der Übergangsanweisung zu animieren.

Input::placeholder ( Farbe: schwarz; Übergang: Farbe 1s; ) input:focus::placeholder ( Farbe: weiß; )

BEI Google-Browser Die Chrome-Tooltip-Farbe beim Fokussieren auf ein solches Feld ändert sich reibungslos innerhalb einer Sekunde.

Das placeholder-Attribut wird verwendet, um Tooltips in leeren Eingabefeldern (tags und