W3docs

CSS ::placeholder Pseudo-Element

Verwende den ::placeholder CSS-Selektor, um Platzhaltertext in Eingabefeldern zu gestalten. Lerne das Pseudo-Element kennen und sieh Beispiele.

Das ::placeholder-Pseudo-Element wählt den Platzhaltertext eines Formularfeldes aus — den kurzen Hinweis, der in einem leeren <input> oder <textarea> angezeigt wird und verschwindet, sobald der Benutzer mit der Eingabe beginnt. Es trifft nur Elemente, die ein placeholder-Attribut besitzen. Standardmäßig rendern Browser Platzhaltertext in einer halbtransparenten oder hellgrauen Farbe.

::placeholder Pseudo-Element

Der Hinweistext selbst stammt aus dem HTML-placeholder-Attribut, während ::placeholder es ermöglicht, das Aussehen dieses Hinweises zu gestalten — seine Farbe, Schriftart und so weiter.

Wann verwenden

Greife auf ::placeholder zurück, wenn der Hinweis gut lesbar vor dem Hintergrund deines Formulars sein soll oder zu deinen Markenfarben passen soll. Ein paar Dinge, die du vor dem Gestalten wissen solltest:

  • Nur eine begrenzte Auswahl an Eigenschaften wirkt. Da der Platzhalter „Pseudo-Inhalt" ist, kannst du Eigenschaften verwenden, die den Text selbst betreffen — color, font-*, letter-spacing, text-decoration, opacity, background und einige andere. Layout-Eigenschaften (wie margin oder width) haben keine Wirkung.
  • Achte auf ausreichenden Kontrast. Das standardmäßige Hellgrau erfüllt oft nicht die Zugänglichkeitsrichtlinien für Kontrast. Wenn du die Farbe änderst, stelle sicher, dass der Text lesbar bleibt.
  • Ein Platzhalter ist kein Label. Er verschwindet, sobald der Benutzer tippt, und sollte daher nie ein echtes <label> ersetzen. Verwende ihn für einen Beispielwert, nicht für den Namen des Feldes.
Info

Vendor-Präfixe (-webkit-, -moz-, -ms-) sind veraltet und für moderne Browser nicht mehr nötig. Der standardmäßige ::placeholder-Selektor wird überall unterstützt, sodass du sicher eine einzige ::placeholder-Regel schreiben kannst.

Version

Selectors Level 4

Syntax

CSS ::placeholder Syntax-Beispiel

::placeholder {
  css declarations;
}

Beispiel des ::placeholder-Selektors:

CSS ::placeholder Beispiel

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      input::placeholder {
        color: #1c87c9;
        font-size: 1.2em;
        font-style: italic;
      }
    </style>
  </head>
  <body>
    <h2>::placeholder selector example</h2>
    <input placeholder="Type here..." />
  </body>
</html>

Beispiel des ::placeholder-Selektors in einem Formular:

CSS ::placeholder Code-Beispiel

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      * {
        box-sizing: border-box;
      }
      .container {
        margin: 20px auto;
        max-width: 250px;
        background-color: #8ebf42;
        padding: 20px;
      }
      input {
        border: 1px solid #666666;
        background-color: #eeeeee;
        padding: 15px;
        margin-bottom: 20px;
        display: block;
        width: 100%;
      }
      input::-webkit-input-placeholder {
        color: #666666;
      }
      input::-moz-placeholder {
        color: #666666;
      }
      input:-ms-input-placeholder {
        color: #666666;
      }
      input::placeholder {
        color: #666666;
      }
    </style>
  </head>
  <body>
    <h2>::placeholder selector example</h2>
    <div class="container">
      <form>
        <input type="text" placeholder="Lorem ipsum is simply..." />
        <input type="date" placeholder="DD/MM/YYYY" />
      </form>
    </div>
  </body>
</html>

Beispiel des ::placeholder-Selektors mit dem HTML-<input>-Attribut autofocus:

HTML-Beispiel für placeholder

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      label {
        display: block;
        color: #777777;
        margin: 0 0 4px;
      }
      input {
        border: 1px solid transparent;
        padding: 15px;
        font-size: 1.2em;
        outline: 0;
      }
      input::placeholder {
        color: #8ebf42;
      }
      label,
      input {
        font-family: sans-serif;
      }
    </style>
  </head>
  <body>
    <h2>::placeholder selector example</h2>
    <form action="#">
      <div>
        <label for="name">Name:</label>
        <input id="name" name="name" type="text" placeholder="Enter your name here" autofocus />
      </div>
    </form>
  </body>
</html>

Verwandte Themen

Übung

Übung
Was beschreibt das ::placeholder Pseudo-Element in CSS?
Was beschreibt das ::placeholder Pseudo-Element in CSS?
Was this page helpful?