Badges auf Karten
Oskar ist gerade im Tierheim angekommen, deshalb haben wir seiner Karte ein Badge „Neu“ gegeben: ein span über dem Bild. Vorerst nimmt es eine eigene Zeile ein. Wir hätten es gern in der oberen linken Ecke der Karte, über dem Bild.
Für die Eigenschaft position gibt es zu jedem Wert eine Klasse, die nach dem Wert benannt ist: static, relative, absolute, fixed und sticky. Die Verschiebungen top, right, bottom und left haben Klassen mit den Zahlen der Abstandsskala:
| Klasse | CSS |
|---|---|
top-3 | top: 0.75rem; (12 px) |
left-3 | left: 0.75rem; (12 px) |
right-0 | right: 0; |
-top-2 | top: -0.5rem; (ein Minus vor der Klasse macht den Wert negativ) |
inset-0 | top: 0; right: 0; bottom: 0; left: 0; |
absolute inset-0 streckt ein Element über den ganzen Vorfahren, der eine Position hat. Das ist zum Beispiel praktisch für eine halbtransparente Ebene über einem Bild.
Und denke an den Trick aus dem CSS-Kurs: Die Verschiebungen eines absolut positionierten Elements werden von seinem nächsten Vorfahren gemessen, dessen Position nicht static ist. Deshalb braucht die Karte die Klasse relative.
So schreibst du es:
Anweisungen
- 1
Füge dem Badge die Klassen
absolute top-3 left-3hinzu. Es springt in die obere linke Ecke der Seite, über das Logo: Keiner seiner Vorfahren hat eine Position, seine Verschiebungen werden also von der Seite aus gemessen. - 2
Füge Oskars Karte (dem Element
article) die Klasserelativehinzu. Das Badge wandert in die Ecke der Karte, 12 px von ihrem oberen und linken Rand: Die Karte ist jetzt sein nächster Vorfahre mit einer Position.