Die Karten der Katzen
Die Kopfzeile und der Hero sind fertig. Im Editor findest du unsere Version; wenn du deine eigene kopiert hast, füge sie über unserer ein. Jetzt kommt der wichtigste Teil der Seite: die Katzen.
Der Abschnitt Unsere Katzen (id="katzen") hat eine Überschrift und ein div mit vier Karten. Jede Karte ist ein article mit einem Bild und einem div mit dem Namen, dem Alter, der Beschreibung und dem Button. Oskars Karte hat außerdem ein span mit dem Abzeichen „Neu“. Ein paar Erinnerungen aus den früheren Lektionen:
- Spalten für jede Breite. Klassen ohne Präfix gelten bei jeder Breite,
sm:ab 640 px,md:ab 768 px undlg:ab 1024 px. Eine Spalte für Smartphones, zwei für Tablets und vier für Computer:grid gap-6 sm:grid-cols-2 lg:grid-cols-4. - Zugeschnittene Bilder.
object-coverlässt das Bild seine Box füllen und schneidet ab, was nicht passt, damit die Katze nicht gequetscht wird. Die Box braucht eine Größe:w-fullund ein Seitenverhältnis (aspect-video,aspect-square) oder eine feste Höhe (h-48). Ein Seitenverhältnis schneidet das Bild bei jeder Breite gleich zu. - Runde Ecken. Wenn eine Karte runde Ecken hat und das Bild bis an ihre Ränder reicht, ragen die eckigen Ecken des Bildes heraus.
overflow-hiddenan der Karte schneidet sie ab. - Ein Abzeichen auf dem Bild. Die Karte bekommt
relative, das Abzeichenabsoluteund eine Position wietop-3 left-3, gemessen von der Ecke der Karte. - Buttons auf gleicher Höhe. Die Beschreibungen sind nicht gleich lang, deshalb würden die Buttons auf unterschiedlichen Höhen landen. Mach die Karte und ihr
divzu Flex-Spalten (flex flex-col), lass dasdivden Rest der Karte füllen (flex-1) und lass auch die Beschreibung wachsen (flex-1): Sie schiebt den Button nach unten.
Stelle die Vorschau zwischendurch auf 375, 768 und 1280 px: Das Raster sollte eine, zwei und vier Spalten haben.
Die Prüfungen können die Maus nicht über einen Button bewegen, deshalb sehen sie sich für hover: (und in der nächsten Übung für focus:) die Klassen im HTML an. Wenn du für die Buttons mit @apply eine eigene Klasse machst, wie in der vorigen Lektion, lass die Klasse mit hover: trotzdem im HTML stehen.
So schreibst du es:
Anweisungen
- 1
Gib dem Abschnitt
#katzeneine maximale Breite in der Mitte der Seite und Padding, zum Beispielmx-auto max-w-5xl px-4 py-12. Mach seine Überschrift groß und fett: mindestens 24 px (text-2xl) und mindestensfont-semibold. - 2
Ordne die Karten (das
div, das sie enthält) in einem Grid mit Abständen an: eine Spalte auf Smartphones und ab einem Breakpoint zwei bis vier Spalten, zum Beispielgrid gap-6 sm:grid-cols-2 lg:grid-cols-4. - 3
Mach jede Karte (
article) zu einer eigenen Box mit runden Ecken und einem Schatten oder einem Rahmen, zum Beispieloverflow-hidden rounded-2xl bg-white shadow-md. Das Bild reicht bis an die Ecken der Karte, deshalb braucht die Karteoverflow-hiddenoder das Bild eigene runde Ecken. - 4
Schneide die Bilder zu:
object-coverzusammen mit einem Seitenverhältnis oder einer festen Höhe, zum Beispielaspect-video w-full object-cover. Und gib dem Text unter dem Bild (demdivin jeder Karte) Padding, zum Beispielp-5, damit er den Rand der Karte nicht berührt. - 5
Setze das Abzeichen „Neu“ auf Oskars Bild:
relativean der Karte und am Abzeichenabsolute, eine Position und eine Hintergrundfarbe, zum Beispielabsolute top-3 left-3 rounded-full bg-emerald-500 px-3 py-1 text-xs font-bold text-white uppercase. - 6
Gestalte die vier Buttons Adoptieren: eine Hintergrundfarbe, Padding, runde Ecken, den Zeigercursor (
cursor-pointer) und eine andere Farbe, wenn die Maus darüber ist (hover:), zum Beispielmt-4 cursor-pointer rounded-full bg-marke-500 px-4 py-2 font-semibold text-white hover:bg-marke-600.