Rahmen
In dieser Lektion verwandeln wir eine schlichte weiße Box in eine moderne Karte: mit Rahmen, abgerundeten Ecken, einem Schatten und einem Bild, das gut hineinpasst. Wir arbeiten an der Adoptionskarte von Oskar, einem jungen schwarzen Kater. Die Karte hat schon die Klassen, die du aus den vorigen Lektionen kennst: Farben, Textgrößen, Padding und Margins, eine maximale Breite und die Klasse mx-auto, die die Karte zentriert.
Im CSS-Kurs hast du einen Rahmen mit drei Werten geschrieben: border: 1px solid gray, also Breite, Stil und Farbe. In Tailwind hat jedes davon eigene Klassen, und meistens brauchst du nur eine: border.
| Klasse | CSS |
|---|---|
border | border-width: 1px; |
border-2 | border-width: 2px; |
border-4 | border-width: 4px; |
border-8 | border-width: 8px; |
border-0 | border-width: 0; |
Achtung: Die Zahl ist hier die Breite in Pixeln, keine Stufe der Abstandsskala. border-2 sind 2 Pixel, p-2 dagegen 8.
Warum reicht eine Breite? Im CSS-Kurs wurde ein Rahmen ohne Stil gar nicht angezeigt. Aber Preflight, die Basisstile von Tailwind, gibt jedem Element vorab border: 0 solid: eine durchgezogene Linie, die 0 Pixel breit ist. Sobald eine Klasse ihr eine Breite gibt, erscheint die Linie. Für andere Stile gibt es die Klassen border-dashed, border-dotted und border-double.
Und die Farbe? Preflight legt keine fest, deshalb bekommt ein Rahmen die Standardfarbe currentColor: die Textfarbe des Elements. Das ist praktisch für einen Button, dessen Rahmen zum Text passen soll, aber eine Karte mit dunklem Text bekommt einen dunklen Rahmen. Eine andere Farbe kommt aus der Palette, die du kennst: border-stone-200 setzt border-color auf ein helles Stone-Grau, genauso wie bg-stone-200 den Hintergrund setzt.
So schreibst du es:
Anweisungen
- 1
Füge Oskars Karte (dem
divmit der IDoskar) die Klasseborderhinzu. Um die Karte erscheint eine dünne dunkle Linie. Sie hat die Textfarbe der Karte,stone-800, die die Karte vonbodyerbt. - 2
Ein dunkler Rahmen ist für eine Karte zu schwer. Füge auch die Klasse
border-stone-200hinzu, und die Linie wird hellgrau. (Eine Farbe allein, ohneborder, würde nichts anzeigen: Ein Rahmen braucht eine Breite.)