So erstellen Sie ein Kartenlayout mit CSS Grid Layout

Veröffentlicht: 2023-02-12

Anmerkung des Herausgebers: Dieser Gastbeitrag wurde von Abbey Fitzgerald geschrieben, einer UX-Softwareentwicklerin und Webdesignerin, die die Kunst des Programmierens liebt.

CSS-Grid-Layouts verändern die Arbeitsweise von Webdesignern und ermöglichen eine effizientere Art, Website-Inhalte zu gestalten.

Es wurde lange darauf gewartet, aber endlich hat sich dieser Ansatz wirklich durchgesetzt und ist in vielen Fällen in Produktion. Es hat die Art und Weise, wie Websites gestaltet werden, revolutioniert, und sobald Designer den Dreh raus haben, wird es den Weblayouts mehr Flexibilität verleihen.

Wenn Sie versucht haben, mit CSS Grid zu entwerfen und Tutorials im Internet gelesen haben, haben Sie möglicherweise Informationen gefunden, die sich auf einen allgemeinen Layout-Ansatz beziehen. Dinge wie: Kopfzeile, Inhalt, Fußzeile usw.

CSS Grid kann jedoch auch für andere Website-Details wie Karten nützlich sein. Kartenlayouts sind eine gängige Art, Inhalte anzuzeigen, und sie können effizient mit CSS Grid erstellt werden. Durch die Verwendung dieser Methode sind Karteninhaltsbereiche leicht wiederholbar, können auf vielen verschiedenen Gerätetypen angezeigt werden und die Größe lässt sich leicht steuern.

CSS-Grid-Layout-Tools

Während Sie fortfahren, werden Sie die Dinge auf der Seite überprüfen wollen. Firefox verfügt über großartige Entwicklertools zum Anzeigen von Rasterbereichen. Mit den Firefox-Entwicklertools können Sie ein Overlay sehen, das das Raster umreißt. Firefox Developer Edition hat auch diese Fähigkeit.

Layout nach Schwungrad Kartenlayout CSS-Grid-Layout Tutorial-Inspektor-Tools

Wählen Sie das Überlagerungsraster aus, das Sie anzeigen möchten (je nach Design kann es mehr als eines geben). Die Rasteranzeigeeinstellungen ermöglichen Ihnen eine genauere Betrachtung, indem Sie die Zeilennummer, Bereichsnamen und die gewünschte Verlängerung der Zeilen anzeigen. Dies wird beim Entwerfen hilfreich sein.

Einfache Karten mit CSS-Grid-Layout

Wenn Sie neu bei CSS Grid sind, sollten Sie die Grundlagen auffrischen und ein einfaches CSS-Grid-Layout erstellen. Karten sind eine großartige Möglichkeit, Inhalte anzuzeigen, sowie ein interessantes UI-Element, das intuitiv zu verwenden ist. Sie bieten Benutzern auch ein großartiges Format, um Inhalte schnell zu scannen und sich mit dem zu beschäftigen, was sie am meisten interessiert. Karten ermöglichen es Designern auch, Inhalte auf visuell ansprechende Weise zu formatieren, mit großartigen Bildern, Einführungsinhalten, Links und mehr!

Karten und gesamtes Seitenlayout

Nebenbei ist es wichtig zu wissen, dass CSS Grid nicht auf einem ganzen Seitenlayout verwendet werden muss. Raster können bei Bedarf in bestimmten Bereichen der Seite verwendet werden. Da dies ein Tutorial zu Kartenlayouts ist, kann hier ausschließlich ein Grid-Ansatz verwendet werden, auch wenn der Rest der Seite kein CSS-Grid verwendet. Solange der Rasterbereich definiert ist und display: grid; auf dem Wrapper deklariert ist, kann dieser Ansatz verwendet werden.

Arbeiten mit einer festgelegten Anzahl von Karten

In einigen Fällen ist es einfach, eine festgelegte Anzahl von Karten einzuplanen. Bei einer festgelegten Menge an Inhalten bleibt die Anzahl der Karten gleich. Beispielsweise können vier Karten vorhanden sein, die Geschäftsangebote erläutern, wobei jedes Angebot auf einer eigenen Karte steht.

Layout nach Schwungrad Kartenlayout CSS-Rasterlayout Anleitung zum Tutorial mit vier Kartenreihen

In diesem Beispiel (und den anderen) befinden sich alle .card Elemente in einem .cards Containerelement. Um dies zu erreichen, ist es ziemlich einfach.

 [css] .cards { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: auto; grid-gap: 1rem; }   .card { border: 2px solid #e7e7e7; border-radius: 4px; padding: .5rem; } [/css]

Es ist wichtig, den Wert von .cards im Raster anzuzeigen. Ohne diese können keine Rasterbereiche erstellt werden. Der nächste Schritt besteht darin, die grid-template-columns zu definieren und das Styling auszuwählen. Das eigentliche Kartendesign wird mit der Klasse .card deklariert.

Layout nach Schwungrad Kartenlayout CSS-Grid-Layout Anleitung zum Kartenunterricht

In diesem Beispiel sehen Sie mehrere Artikel-Tags mit der Klasse .card . Sehen Sie es auf Codepen.

Wiederholen Sie dies für die eingestellte Kartenanzahl

Hier nehmen die Karten Gestalt an. Um eine fließende Anzahl von Spalten pro Zeile zu erstellen, wird repeat mit der Funktion repeat() verwendet. Diese Funktion benötigt zwei Argumente: die Anzahl der Wiederholungen und den zu wiederholenden Wert.

Layout nach Schwungrad Kartenlayout CSS-Rasterlayout Anleitung zum Tutorial mit drei Kartenreihen

Zum Beispiel grid-template-columns: repeat(3, 200px); berechnet zu grid-template-columns: 200px 200px 200px; .

Brucheinheit

Sie werden sehen, dass der Beispielcode ein „fr“ verwendet. Was ist das genau? Diese Maßeinheit wurde mit CSS Grid populär. Fr bedeutet „Brucheinheit“ und 1fr nimmt 1 Teil des verfügbaren Platzes ein. Es hilft, Raumberechnungen zu vereinfachen.

Brucheinheiten können allein verwendet werden oder Sie können eine Breite von 1fr angeben und Sie können auch untergeordnete Elemente hinzufügen. Mehrere fr werden gleichmäßig auf alle untergeordneten Elemente verteilt.

layout by flywheel card layout css grid layout how to tutorial one fr group

Es können verschiedene Brucheinheiten angegeben werden. Wenn beispielsweise die Rasterspalten 1fr 2fr 1fr sind, nehmen zwei Brucheinheiten doppelt so viel Platz ein wie eine Brucheinheit.

layout by flywheel card layout css grid layout how to tutorial mixed fr group

Wiederholen Sie dies für eine dynamische Anzahl von Karten

In einigen Fällen wissen Sie möglicherweise nicht, wie viele Karten benötigt werden, sodass die Planung einer festgelegten Anzahl nicht funktioniert. Es wird derselbe Ansatz wie beim Wiederholen verwendet, aber es besteht die Möglichkeit, so viele wie nötig mit Autofill einzufügen.

 [css] grid-template-columns: repeat(auto-fill, 250px); [/css]

Breitenangaben werden zusätzlich zum auto-fill benötigt. Denken Sie daran, dass bei einem px-Wert nach rechts Platz sein kann, wenn nicht genug Platz für die Karte vorhanden ist, aber das muss nicht der Fall sein, wie Sie später sehen werden.

layout by flywheel card layout css grid layout wie man eine Reihe von Karten mit Leerzeichen anleitet

Minmax für mehr Kontrolle über die Kartenbreite

Minmax ist die perfekte Lösung, da eine gebrochene Einheit allein die Karten in voller Breite machen würde. Durch das Hinzufügen von Wiederholungen und einem Minmax zur Stildeklaration wird der mögliche Leerraum beseitigt und die Karten erscheinen fließender.

 [css] grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); [/css]
layout by flywheel card layout css grid layout how to tutorial three card full width
Diese Deklaration weist den Browser an, so viele Spalten basierend auf den in der Wiederholungssyntax angegebenen Größen einzupassen.

Spalten passen immer in das Raster und die Karten sind mindestens 200 Pixel groß. Wenn der minimale Platz nicht perfekt zum Platz passt, kommt hier die maximale Breite ins Spiel. Wenn eine andere Karte mit einer Breite von 200 Pixel nicht passt, sind die anderen Karten größer als 200 Pixel, sodass sie sich dehnen, um die Reihe mit mehr Platz zu füllen, und der Platz gleichmäßig verteilt wird. [Artikel-ID=“21612″ align=“right“]

Handy, Mobiltelefon

Da die kleinsten und größten Karten geplant sind, ist dies ein guter Zeitpunkt, um über Mobile zu sprechen. Karten funktionieren gut auf größeren und kleineren Geräten, da der Inhalt in verdaulichen Blöcken vorliegt und die Karten problemlos nach oben und unten skaliert werden können. CSS Grid hilft dabei, ein großartiges mobiles Erlebnis zu schaffen, und in einigen Fällen ist es viel einfacher als eine separate Medienabfrage.

In diesem Beispiel müssen Karten verkleinert werden, damit sie in Mobilgeräte passen, und vergrößert werden, damit sie nur einen Bruchteil des verfügbaren Platzes einnehmen, damit sie auf einem kleineren Gerät in voller Breite angezeigt werden, ohne dass eine separate Medienabfrage erforderlich ist:

 [css] grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); [/css]

Die Mindestbreite der Karte beträgt 300 Pixel. In der Reihe erscheinen so viele 300-Pixel-Karten, wie hineinpassen. Wenn das Gerät sehr klein ist, besteht eine gute Chance, dass nicht genügend Platz für zwei Karten in einer Reihe vorhanden ist. Dann kommt die 1fr ins Spiel. Die Brucheinheit eignet sich hervorragend für responsive Designs. Wenn zwei der 300-Pixel-Karten nicht passen, wird die mobile Ansicht hier sehr deutlich. Wenn 1fr als maximale Breite deklariert wurde, nimmt eine einzelne Karte den gesamten verfügbaren Platz ein und sie werden übereinander gestapelt.

layout by flywheel Kartenlayout CSS-Grid-Layout Anleitung zum Kartenlayout für mehrere Geräte

Gitterlücke

Nun, da die Breite der Karten festgelegt ist, muss die Entscheidung getroffen werden, Platz zwischen ihnen zu haben. Diese Eigenschaft ist für Rastercontainer verfügbar und erleichtert das Erstellen von Dachrinnen im Design. Grid-column-gap schafft den Abstand zwischen jeder Karte. Wenn Sie grid-gap sehen, bezieht sich das auf die Abkürzung für grid-row-gap und grid-column-gap . Grid-row-gap ist der Abstand oben und unten auf der Karte, grid-column-gap ist der Abstand links und rechts von der Karte.

CSS-Rasterlayout-Ressourcen

Wenn es um CSS Grid Layouts geht, gibt es viel zu lernen und es gibt viele Möglichkeiten. Der beste Weg, etwas über das CSS-Grid-Layout zu lernen, besteht darin, etwas mehr zu lesen und zu experimentieren. Es gibt viele großartige Ressourcen da draußen, aber hier sind ein paar, um Ihnen den Einstieg zu erleichtern:

  • Raster nach Beispiel
  • CSS-Grid-Layout-Kurs von Wes Bos
  • Mozilla-Einführung in CSS Grid