joom.team Logojoom.team Logo
  • +49 (89) 125 018 524
  • mail@joom.team
    • DE
    • EN
  • Home
  • Entwicklung
  • Updates & Wartung
  • Referenzen
  • Joomla Wiki
  • Über uns

Aufbau eines Layouts im Wert von 50 Mio. $ mit CSS Grid

CSS Grid ist ein rasterbasiertes Layout-System, das sowohl Zeilen als auch Spalten verwendet. Das System gibt es schon seit sieben Jahren, es wird von allen modernen Browsern unterstützt und immer beliebter. In diesem Artikel gehen wir die Grundlagen durch, indem wir ein künstlerisches Meisterwerk neu erschaffen und dabei nichts außer CSS Grid verwenden.

Nachdem ich vor kurzem ein Grid-Tutorial gesehen hatte, kam mir der Gedanke, dass es keinen besseren Weg gibt, die grundlegenden Konzepte hinter Grid zu verstehen, als zu versuchen, eine Gemälde des niederländischen Malers Piet Mondrian zu reproduzieren.

Mondrian - bekannt für seine De-Stijl-Phase - ist für viele der Vater des modernen Layouts.

Folglich stellt sich die Frage, welches seiner einfachen, aber abstrakten Layouts man dafür nehmen sollte. Als echter Kunstkenner entschied ich mich für die Komposition Nr. III, mit Rot, Blau, Gelb und Schwarz. Entstanden 1929 und kürzlich für 50.600.000 Dollar versteigert.

Mondrian Composition
Composition No. III, with Red, Blue, Yellow, and Black, Piet Mondrian, 1929.

Lassen Sie uns beginnen: unsere Leinwand

Bevor wir unsere Farben rausholen, kreieren wir eine Leinwand:

[codepen placeholder - work in progress]

Grid ist von Haus aus flexibel (responsiv), so dass es normalerweise nicht notwendig ist, Höhen und Breiten zu definieren, aber in diesem Fall werden wir sie explizit so einstellen, dass sie der Originalgröße des Gemäldes entsprechen (50,0 x 50,2 cm) und so sicherstellen, dass wir das richtige Seitenverhältnis beibehalten.

[codepen placeholder - work in progress]

Der nächste Schritt ist, die Anzeige-Eigenschaft auf Grid einzustellen:

[codepen placeholder - work in progress]

Und was ist passiert? Nichts. Immer noch eine leere Leinwand. Um ein Raster zu erstellen, werden wir zwei Eigenschaft wie folgt verwenden.

[codepen placeholder - work in progress]

Immer noch nichts? Lassen Sie uns (mit dem Inspect-Modus) inspizieren! .... und jetzt sehen wir auf der Leinwand ein Gitter mit 20 gleichen Spalten und Zeilen.

Mondrian inspect 1

Spaltenhöhe und -breite als Brüche definieren

Die im obigen Code verwendete Einheit fr steht für Fraction (Bruch). Schreibt man repeat(20, 1fr), wird jedes Feld auf 1/20 der vollen Breite des Rasters gesetzt.

Mit Grid ist es immer noch möglich, Pixel und Prozentangaben zu verwenden (oder die drei zu kombinieren), aber für unsere Zwecke ist die Verwendung von fr am besten. fr ist sehr nützlich, da nichts explizit definiert werden muss. Außerdem können wir die repeat() Funktion verwenden, um so fr nicht 20 mal schreiben zu müssen.

Als ich dieses Gemälde zum ersten Mal nachbaute, bemerkte ich an dieser Stelle, dass es präziser wäre, ein 21/20-Raster zu verwenden - mit einer zusätzlichen Spalte, die auf die halbe Breite der anderen eingestellt ist.

Aber das ist okay.... niemand hat gesagt, dass die Bruchwerte aus ganzen Zahlen bestehen müssen!

[codepen placeholder - work in progress]

Um sicher zu sein, was sich nun geändert hat, inspizieren sie:

Mondrian inspect 2

Malen der ersten Pinselstriche

Was kommt als nächstes? Im Gemälde gibt es acht gemalte Teilbereiche, also erstellen wir diese mit HTML:

[codepen placeholder - work in progress]

Nun können wir beginnen, unsere Felder – bzw. in der Grid-Terminologie Items - innerhalb des 21x20-Rasters zu positionieren.

Wir beginnen mit dem roten Item oben links:

[codepen placeholder - work in progress]

Wenn wir unseren Fortschritt noch einmal inspizieren, sehen wir, dass sich unser erstes (rotes) Item wie folgt erstreckt:

  • Über 9 Spalten (von der 1. bis zur 10. vertikalen Gitterlinie)
  • Über 11 Reihen (von der 1. bis zur 12. horizontalen Gitterlinie)

Beachten Sie hier, dass wir nach den Rasterlinien und nicht nach dem Abstand zwischen den Zeilen (d.h. Spalten/Zeilen) zählen.

Mondrian inspect 3

Fahren wir mit dem nächsten Bereich rechts fort, Mr. White. Diesmal beginnen wir vertikal von der Gitterlinie 10 bis 21 und horizontal von der Gitterlinie 1 bis 12:

[codepen placeholder - work in progress]

Jetzt haben wir zwei nebeneinanderliegende Einzelteile und es ist Zeit, den schwarzen Rand dazwischen hinzuzufügen. Anstatt dies mit Hilfe von Rändern zu erreichen, nutzen wir die grid-gap-Eigenschaft:

[codepen placeholder - work in progress]

Dadurch entsteht eine Lücke von 10px zwischen unseren horizontalen und vertikalen Gitterlinien. Durch die Einstellung der Hintergrundfarbe der Leinwand auf schwarz wird die Lücke auch als schwarzer Leerraum sichtbar.

Da unsere Gitterlinien jetzt Gitterlücken sind, zählen wir von nun an Lücken statt Linien. Verwirrt? Inspizieren!

Mondrian inspect 4

Vereinfachung des Ganzen mit shorthand

An dieser Stelle sehen wir nun unsere ersten beiden Objekte, rot und weiß, mit einer Lücke dazwischen und dem Hintergrund der restlichen Leinwand, die schwarz ist.

Machen wir nun aus dem verbleibenden Raum ein Kunstwerk:

[codepen placeholder - work in progress]

Diesmal verwenden wir shorthand, um 9 Spalten (von der vertikalen Gitterlücke 1 bis 10) und 9 Reihen (von der horizontalen Gitterlücke 12 bis 21) zu umfassen.

Wenn wir so weiter vorgehen, haben wir am Ende so etwas wie das hier:

[codepen placeholder - work in progress]

Das blaue Feld ist nicht ganz richtig...

Sie haben recht! Der Rand zwischen den letzten beiden Feldern sollte dicker sein. Um das zu erreichen, werden wir.... raten Sie mal was benutzen?

[codepen placeholder - work in progress]

Unser ganz eigenes CSS-Kunstwerk

Was haben wir also am Ende? Nun, keine perfekte Reproduktion, wie Sie unten sehen können, haben wir zwei kleine Unvollkommenheiten. Obwohl wir unsere Ränder oder Säulen justieren könnten, um sie genau auf das Gemälde abzustimmen, finde ich es irgendwie ein angebrachtes Zwinkern in Richtung unseres Meisters Mondrian, unsere Staffelei stattdessen hier zur Seite zu legen:

Mondrian comparison

Leider ist das Bild, das wir zusammen erstellt haben, nicht annährend 50 Millionen Dollar wert, aber ich hoffe, es hat Ihnen geholfen, den Wert von CSS Grid zu erkennen.

Nächste Schritte mit CSS Grid

CSS Grid steht für eine neue Art, die Dinge zu betrachten und manchmal ist es schwierig, alte Gewohnheiten zu ändern. Aber die Fähigkeit Neues zu erforschen, damit zu experimentieren, altes auseinander zu nehmen und neu zusammen zu bauen, unsere Fähigkeiten ständig zu verbessern und Dinge voranzutreiben sollte das Spannende daran sein, was wir tun. Grid ist für uns alle neu und das macht es noch aufregender, denn alle neuen Anwendungen und Beispiele sind wertvoll und wichtig.

Auch wenn sie Spaß gemacht hat, hat diese Übung kaum an der Oberfläche von CSS Grid gekratzt und nur wenige der mehr als 20 verfügbaren Eigenschaften genutzt. Ich würde Grid by Example von Rachel Andrew als Ausgangspunkt für weiteres Lernen vorschlagen.

Sie können aber auch mehr über meine eigene Reise durch die Welt des HTML/CSS-Layouts lesen.

Kontaktieren Sie uns!

Bitte geben Sie eine gültige Website-URL ein.
Bitte geben Sie eine gültige E-Mail-Adresse ein.
Bitte geben Sie eine gültige Telefonnummer ein.
Invalid Input
Bitte stimmen Sie unserer Datenschutzerklärung zu.
Die hier erhobenen personenbezogenen Daten werden nur für die interne Bearbeitung verwendet und nicht an Dritte weitergegeben. Bitte beachten Sie unsere Datenschutzerklärung.

   München, Deutschland  |  Manchester, UK  |  Zagreb, Kroatien

joom.team ist weder mit Joomla Project noch Open Source Matters affiliiert und wird auch nicht durch diese gesponsert. Der Joomla Name und das Joomla Logo werden im Rahmen einer limitierten Lizenz verwendet, die von Open Source Matters als der Markeninhaberin in den Vereinigten Staaten und anderen Ländern erteilt wurde.

© Copyright 2023
Datenschutz |  Impressum

  • Home
  • Entwicklung
  • Updates & Wartung
  • Referenzen
  • Joomla Wiki
  • Über uns