Scanbare Karten richtig strukturieren
Wie du Informationen in Karten organisierst, damit Nutzer relevante Details auf einen Blick erfassen…
Mehr erfahrenTechniken für Kartenraster, die sich elegant an verschiedene Bildschirmgrößen anpassen — ohne komplexe Breakpoints oder merkwürdige Abstände.
Kartengitter sind überall. Sie strukturieren Produktkataloge, zeigen Artikel in Newsfeeds, organisieren Galerien. Aber viele Designs brechen zusammen, wenn die Bildschirmgröße sich ändert.
Du kennst das wahrscheinlich: Auf dem Desktop passen vier Karten perfekt in eine Reihe. Auf dem Tablet plötzlich seltsame Lücken. Auf dem Smartphone stapeln sich die Karten in einer engen Spalte. Das ist nicht elegant, und es ist auch nicht nötig. Es gibt bessere Wege.
Das Geheimnis liegt in Flexbox. Nicht in komplizierter Grid-Logik oder JavaScript. Einfach nur Flexbox mit intelligenten Standardbreiten.
Wenn du deine Kartengitter mit
flex-wrap: wrap
aufbaust, passiert etwas Schönes: Karten brechen natürlich in neue Zeilen um, wenn nicht mehr Platz vorhanden ist. Keine erzwungenen Lücken. Keine beschädigten Layouts. Nur echtes Umfluss-Verhalten.
Das funktioniert, weil du jeder Karte eine Basis-Breite mit
flex-basis
gibst — etwa 280px oder 300px je nach Inhalt — und dann
flex: 1
setzt. Die Karten werden größer, wenn Platz da ist, und sie brechen um, wenn nicht.
So sieht das HTML und CSS in der Praxis aus:
Eine einfache Container-Struktur mit einzelnen Kartenelementen. Nichts Kompliziertes.
<div class=”card-grid”>
<div class=”card”>…</div>
<div class=”card”>…</div>
<div class=”card”>…</div>
</div>
Das ist der wichtige Teil. Diese CSS macht das ganze Umfluss-Verhalten möglich.
.card-grid {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
}
.card {
flex: 1 1 280px;
min-height: 320px;
}
Die Zahlen und Werte sind wichtig.
flex: 1 1 280px
bedeutet: Die Karte kann wachsen (erstes 1), kann schrumpfen (zweites 1), und hat eine Basis-Breite von 280px. Das ist groß genug für lesbare Inhalte, aber klein genug, um auf mobilen Geräten elegant zu brechen.
Der Gap von 1.5rem schafft atmende Abstände zwischen Karten — nicht zu groß, nicht zu klein. Auf großen Bildschirmen siehst du das als gleichmäßige Lücken. Auf kleinen Bildschirmen funktioniert es trotzdem, weil die Karten ohnehin stapeln.
“Responsive Designs brechen nicht, wenn du dich auf die natürliche Umfluss-Logik des Browsers verlässt.”
Ein
transform: translateY(-4px)
hebt die Karte leicht an, wenn man sie anschwebt. Das erzeugt Tiefe ohne das Gitter zu beschädigen.
Der Schatten wird bei Hover stärker. Von
box-shadow: 0 2px 8px
zu
0 8px 24px
. Das verstärkt das Anhebungsgefühl.
Ein leicht dunklerer oder gefärbter Hintergrund bei Hover. Nicht drastisch, sondern eine sanfte Veränderung, die zeigt, dass die Karte interaktiv ist.
Wichtig: Alle Hover-Effekte nutzen
transition: all 0.3s ease
. Das macht die Bewegungen flüssig statt abrupt. Und die Bewegung bricht keine Gitter-Ausrichtung auf — die anderen Karten bleiben wo sie sind.
Du wirst wahrscheinlich mehrere Kartentypen brauchen. Manche zeigen Bilder, andere nur Text. Einige haben Badges, andere Buttons. Das ist normal — und du kannst trotzdem ein konsistentes Gitter bewahren.
Der Trick ist, dass alle Karten die gleiche
flex: 1 1 280px
Basis haben. Ob eine Karte 400px hoch ist oder 600px, das Gitter passt sich an. Die Karten werden zu ihrer natürlichen Höhe und der Flex-Container kümmert sich um die horizontale Ausrichtung.
Wenn du verschiedene Kartentypen gestaltest, halte dich an die gleichen Padding-, Border- und Spacing-Regeln. Ein 1.5rem Padding auf allen Karten. Ein einheitlicher Border-Radius von 8px oder 12px. Das erzeugt visuelle Kohärenz, selbst wenn die Inhalte unterschiedlich sind.
Nutze
gap
für Abstände zwischen Karten, nicht
margin
auf den einzelnen Karten. Das macht die Mathematik einfacher und verhindert doppelte Abstände an den Rändern.
Gib Karten eine
min-height
, nicht eine
height
. So können sie wachsen, wenn der Inhalt mehr Platz braucht, ohne dass das Gitter beschädigt wird.
Gitter-Verhalten sieht auf deinem Desktop-Monitor anders aus als auf echten Geräten. Teste auf einem echten Tablet und echtem Smartphone. Das gibt dir ein realistisches Gefühl dafür, wie die Karten wirklich umfließen.
Wenn dein Container selbst Padding hat, beeinflusst das die verfügbare Breite für Karten. Nutze
clamp()
für responsive Padding — so passt sich alles flüssig an.
flex-wrap: wrap
ist dein Freund — nicht komplexes CSS Grid für einfache Gitter
flex: 1 1 280px
bedeutet: Karten wachsen, schrumpfen und brechen natürlich um
Das ist es. Keine komplizierten Breakpoints für jede Größe. Keine JavaScript-Neuberechnungen. Nur die natürliche Umfluss-Logik des Browsers, die Flexbox-Magie macht die schwere Arbeit.
Dieser Artikel präsentiert bewährte Techniken für responsive Kartengitter basierend auf Flexbox. Die spezifischen CSS-Werte (wie 280px oder 1.5rem) sind Richtlinien — deine eigenen Projekte können unterschiedliche Werte benötigen, abhängig von Inhaltstyp, Bildschirmgrößen und Design-Anforderungen. Teste immer gründlich auf verschiedenen Geräten, um sicherzustellen, dass dein Kartengitter sich wie gewünscht verhält.