1unitedpower: Gedanken zum Wochenanfang: CSS Grid und Layout-Frameworks

Beitrag lesen

Gerade diese Aussage trifft nämlich exakt nicht auf CSS Grid zu: Es ist eben kein Framework

Natürlich nicht. Das ist ja gerade die Aussage von Jen Simmons: Man braucht keine Grid-Frameworks mehr, um ein Grid-Layout mit CSS zu realisieren.

Da habe ich Jen Simmons anders verstanden, ich merke aber, dass ich mich konkretisieren muss, um meine Sichtweise zu verdeutlichen. Unter einem Layout-Algorithmus verstehe ich die verschiedenen Layout-Modi, die durch die display-Eigenschaft ausgelöst werden. Davon haben wir im Web eine ganze Reihe: block, inline, flex, flow, grid etc. MDN listet da derzeit über 40 verschiedene Algorithmen und Kombinationen der selben auf. Abhängig von dem Wert für display ergeben sich natürlich weitere CSS-Eigenschaften wie float, width, flex-grow usw., um das Layout-Verhalten weiter zu verfeinern.

Ich kann dir und Jen in soweit zustimmen, dass keiner der existierenden Algorithmen für sich alleine genommen die beste Lösung für jeden Anwendungsfall bilden kann. Um das best mögliche Ergebnis zu erzielen muss man sie intelligent miteinander kombinieren. Ich widerspreche aber dabei inwiefern CSS-Grids da eine Generalisierung ermöglichen und uns in eine neue Ära katapultieren sollten.

Unter einem Layout-Framework verstehe ich eine Sammlung an Funktionen, die es ermöglichen ganz neue Layout-Algorithmen zu entwerfen. Dazu wendet man seinen Blick am besten auf Layout-Algorithmen, die uns im Web bisher nicht zur Verfügung stehen und hinterfragt, inwiefern uns CSS-Grids dabei helfen diese zu implementieren. CSS-Houdini nennt da zum Beispiel die folgenden Kandidaten: Constraint based layouts und Masonry layouts.

CSS Grids lösen ein sehr spezifisches Layout-Problem und mögen Grid-Frameworks in Zukunft überflüssig machen[1]. CSS Houdini ist dagegen tatsächlich ein Layout-Framework, um diverse Layout-Probleme zu lösen - damit findet eine echte Generalisierung statt.


  1. Wobei ich mir da auch nicht so sicher bin, da sich die APIs von CSS Grids und bestehenden Grid-Frameworks ziemlich stark unterscheiden. Ich rechne eher damit, dass sich neue Grid-Frameworks bilden werden, die auf CSS Grids aufbauen, aber viele Details in leichter verständlichen APIs zugänglich machen. Aber Prognosen sind bekanntlich schwierig, besonders wenn sie die Zukunft betreffen. ↩︎