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.
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,backgroundund einige andere. Layout-Eigenschaften (wiemarginoderwidth) 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.
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
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
- CSS
:focus-Selektor — gestalte ein Feld, während der Benutzer darin tippt. - CSS
color-Eigenschaft — die Eigenschaft, die am häufigsten mit::placeholderkombiniert wird. - HTML
<input>-Tag und HTML<textarea>-Tag — die Elemente, die dasplaceholder-Attribut tragen.