-
Ein Vorschlag ist in Arbeit, um das Masonry-Layout von CSS Grid (auch als Ziegelstapel- oder Wasserfall-Layout bekannt) zu CSS Grid Level 3 hinzuzufügen
- Das Masonry-Layout ist ein Muster, bei dem Inhalte dicht wie Ziegel oder eine Steinmauer angeordnet werden; Inhalte unterschiedlicher Größe können platziert werden, ohne sie zuzuschneiden oder wegzulassen, und der Inhalt fließt spaltenweise nach unten
- Bisher war dies ein Layout, das sich ohne JavaScript nur mit CSS nur schwer umsetzen ließ
-
Um den Masonry-Mechanismus in CSS zu implementieren, wurden vier Demos erstellt
- Ein klassisches Masonry-/Wasserfall-Layout erstellen
- Die verschiedenen Möglichkeiten zur Spaltendefinition von Grid nutzen
- Die Funktion zum Zusammenführen von Spalten in Grid nutzen
- Subgrid und explizite Platzierung verwenden
-
Die Kombination der verschiedenen Grid-Funktionen mit Masonry ermöglicht deutlich kreativere und dynamischere Layouts
- Flexible und vielfältige Definition von Spaltengrößen mit
fr-Einheiten,max-content,min-contentund der Funktionminmax() - Durch das Zusammenführen von Spalten lassen sich bestimmte Elemente hervorheben oder abwechslungsreiche Grid-Kompositionen erstellen
- Mit Subgrid lassen sich die Tracks verschachtelter Grids an das übergeordnete Grid anpassen
- Mit expliziter Platzierung kann die Position bestimmter Elemente wie Headern festgelegt werden
- Flexible und vielfältige Definition von Spaltengrößen mit
-
Es gibt auch die Auffassung, dass das Masonry-Layout als eigener
display-Typ getrennt werden sollte- Es gibt Bedenken, dass die Kombination von CSS Grid und Masonry die Komplexität erhöht und sich negativ auf die Performance auswirken könnte
- Wenn Masonry von Grid getrennt wird, könnten sich beide Funktionen unabhängig voneinander weiterentwickeln
- Es gibt aber auch die Meinung, Masonry solle nur als eingeschränktes Layout mit gleich breiten Spalten umgesetzt werden
-
Es wird davon ausgegangen, dass die Einbindung von Masonry in CSS Grid mehr Vorteile bietet
- Die Spezifikation für CSS Grid Level 3 wurde bereits geschrieben und in zwei Browser-Engines implementiert
- Künftig könnten Grid und Masonry mit denselben neuen Funktionen ausgestattet werden, zum Beispiel mit Track-Styling
- Auch konzeptionell passt Masonry gut, da es ebenfalls eine Art von Grid ist
-
Die Meinungen von Webdesignern und Entwicklern sind gefragt
- Sollte Masonry Teil von CSS Grid werden?
- Sollten alle Grid-Funktionen wie unterschiedliche Spaltengrößen, Spaltenzusammenführung, Platzierung und Subgrid nutzbar sein, oder ist es besser, nur gleich breite Spalten zu unterstützen?
- Wie würde diese Funktion genutzt werden? Welche Layouts ließen sich damit erstellen?
- Falls eigene Demos erstellt wurden, wird um deren Teilen gebeten
- Gibt es Layouts, die sich mit diesem Modell nur schwer umsetzen lassen?
-
Der Name Masonry ist möglicherweise nicht passend. Eine Syntax wie
grid-template-rows: offim Sinn von „Zeilen abschalten“ wäre eine Überlegung wert. Bitte berücksichtigt, dass sich der Name künftig ändern könnte
Meinung von GN⁺
- Das Hinzufügen von Masonry zu CSS Grid wäre aus unserer Sicht eine bedeutende Änderung, die die Ausdruckskraft von Web-Layouts deutlich erhöhen könnte. Besonders attraktiv ist, dass sich spaltenorientierte Grids damit leicht umsetzen ließen
- Dagegen fällt es schwer, der Auffassung zuzustimmen, Masonry als eigenen
display-Typ abzutrennen und in seinen Funktionen einzuschränken. Gerade in Kombination mit den leistungsfähigen Grid-Funktionen dürfte sich der Einsatzbereich von Masonry-Layouts deutlich erweitern - Der Name Masonry ist allerdings nicht besonders intuitiv und könnte für Verwirrung sorgen. Es wäre daher sinnvoll, eine andere Bezeichnung für ein reines Spalten-Grid zu prüfen. Eine Syntax wie
grid-template-rows: none, die die Bedeutung „Grid ohne Zeilen“ klar vermittelt, könnte besser sein - Es ist zu erwarten, dass dieser Vorschlag CSS Grid zu einem noch leistungsfähigeren Werkzeug macht. Es scheint wichtig zu sein, verschiedene Layout-Beispiele auszuprobieren und aktiv Feedback zu geben
1 Kommentare
Hacker-News-Kommentare
Zusammenfassung:
break-inside: avoidumsetzen sollendisplay:inline-blockwerden Fotos wie Text behandelt, sodass sie beim Zeilenumbruch neu umfließen