Die content-Eigenschaft
Damit ::before oder ::after dargestellt werden,
benötigen sie in der Regel die CSS-Eigenschaft content.
selektor::before {
content: "Inhalt davor";
}
selektor::after {
content: "Inhalt danach";
}
Dieser Text steht im eigentlichen HTML-Element.
Text und Symbole hinzufügen
Mit ::before und ::after können kurze Hinweise,
Symbole oder dekorative Zeichen ergänzt werden.
Neues Lernbeispiel
Weitere Informationen
.pseudo-label-example::before {
content: "NEU";
margin-right: 0.75rem;
padding: 0.2rem 0.5rem;
border-radius: 0.25rem;
background-color: #6f42c1;
color: #fff;
font-size: 0.75rem;
font-weight: 700;
}
.pseudo-link-example a::after {
content: " →";
}
Der Text „NEU“ und der Pfeil stehen nicht im HTML. Sie werden ausschließlich
durch CSS erzeugt.
Attributwerte mit attr() auslesen
Die Funktion attr() übernimmt den Wert eines HTML-Attributs und
gibt ihn über die Eigenschaft content aus.
Zusatzinformation
<div
class="pseudo-info-example"
data-info="Dieses Beispiel verwendet ein data-Attribut."
>
Zusatzinformation
</div>
.pseudo-info-example::after {
content: " – " attr(data-info);
color: #6f42c1;
font-style: italic;
}
Dekorative Elemente erstellen
Wird für content eine leere Zeichenfolge verwendet, kann das
Pseudoelement als rein dekorative Form gestaltet werden.
Pseudoelemente gestalten
.pseudo-heading-example {
display: flex;
align-items: center;
gap: 0.75rem;
}
.pseudo-heading-example::before {
content: "";
width: 0.4rem;
height: 2rem;
border-radius: 0.2rem;
background-color: #6f42c1;
}
Pseudoelemente positionieren
Pseudoelemente können mit position: absolute frei innerhalb
ihres Bezugselements positioniert werden. Das Bezugselement erhält dafür
normalerweise position: relative.
CSS-Lernkarte
Diese Karte besitzt ein dekoratives Pseudoelement in der oberen rechten
Ecke.
.pseudo-card-example {
position: relative;
overflow: hidden;
padding: 1.5rem;
border: 1px solid #dee2e6;
border-radius: 0.5rem;
}
.pseudo-card-example::after {
content: "";
position: absolute;
top: -2rem;
right: -2rem;
width: 6rem;
height: 6rem;
border-radius: 50%;
background-color: rgba(111, 66, 193, 0.2);
}
Hinweis zur Barrierefreiheit
Inhalte, die mit ::before oder ::after eingefügt
werden, sollten hauptsächlich dekorativ sein. Wichtige Informationen gehören
in das HTML, damit sie zuverlässig von Screenreadern und anderen
Hilfstechnologien erfasst werden.
Pflichtangaben, wichtige Bedienhinweise und aussagekräftige Beschriftungen
dürfen nicht ausschließlich über die Eigenschaft content
bereitgestellt werden.