Ratgeber

CSS3: Was sind die Unterschiede zwischen Grids und Flexbox?

Symbolbild: Raster und Blöcke. (Bild: Shutterstock/Quietword)

Lesezeit: 3 Min. Gerade keine Zeit? Jetzt speichern und später lesen

Mittlerweile verfügt CSS beziehungsweise CSS3 über zwei ausgewachsene Techniken, um flexible und responsive Layouts zu erstellen. Aber worin unterscheiden sie sich und welches Konzept eignet sich für welches Szenario?

Beim Layouten einer Website hatten Web- und Frontend-Designer früher nicht viel zu lachen. Um die Jahrtausendwende war es recht verbreitet, Frames einzusetzen, wenn es darum ging, etwa die Fußzeile oder die Seitenleiste zu positionieren. Etwas später wurden die klassischen Dreispalter – links Navigation, in der Mitte Inhalt, rechts zusätzliche Seitenleiste – mit Kopf- und Fußzeile mithilfe von Tabellen umgesetzt.

Ungefähr ab 2003 setzten sich CSS-basierte Layouts durch. Zuerst arbeiteten die Leute mit der CSS-Eigenschaft „position“, um die einzelnen Elemente zu fixieren oder absolut oder relativ zu positionieren. Darauf folgten nach und nach die float-basierten Layouts. Mit der CSS-Eigenschaft „float“ ließen sich einzelne Elemente wie zum Beispiel die Seitenleiste links oder rechts positionieren.

Die Nebenwirkungen der älteren Techniken

Alle diese Techniken führten zwar mehr oder weniger zum gewünschten Ergebnis, hatten aber gewisse Nebenwirkungen. Frames haben nur optisch eine Website dargestellt, da jedes einzelne Frame eigentlich eine unabhängige Website war. Tabellen waren für die Darstellung von tabellarischen Daten gedacht. Deren Einsatz zu Layoutzwecken war daher semantisch falsch. Zudem waren sie nur schwer responsiv umzusetzen.

Die Arbeit mit der absoluten Positionierung barg unangenehme Überraschungen bei diversen Auflösungen, da die so positionierten Elemente aus dem üblichen Textfluss herausgenommen wurden. Ähnlich war es mit der CSS-Eigenschaft „float“. Sie war dafür gedacht, zum Beispiel Bilder innerhalb des Fließtexte links oder rechts zu positionieren. Da bei dieser Eigenschaft die Bereiche ebenfalls aus dem üblichen Fluss herausgenommen werden, gab es auch hier einige unangenehme Überraschungen für die Entwickler.

Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

CSS3: Flexbox und Grids

Mit dem Flexbox-Konzept folgte endlich eine einfache Möglichkeit, responsive und flexible Layouts zu erstellen, ohne feste Größenangaben und weitere CSS-Einstellungen wie zum Beispiel „position“ oder „float“ nutzen zu müssen.

CSS3: Flexbox ist ein eindimensionales Konzept

Flexbox ist ein eindimensionales Konzept. (Grafik: t3n)

Anfang 2017 hat auch das Grid-Modul von CSS3 den Einzug in die breitere Webentwickler-Öffentlichkeit gefunden und erfreut sich seitdem wachsender Popularität. Gegenüber dem Flexbox-Konzept haben die Grids den klaren Vorteil, dass sie nicht nur linear, sondern zweidimensional wirken können. Mit dem CSS3-Grid-Modul kann man nämlich sowohl die Spalten als auch die Zeilen gezielt ansprechen. Somit sind endlich richtige und auch sehr anspruchsvolle Gestaltungsraster auf Basis von CSS möglich.

CSS3-Grids sind ein zweidimensionales Konzept

CSS3-Grids sind ein zweidimensionales Konzept. (Grafik: t3n)

Sowohl Flexbox als auch die CSS3-Grids erfreuen sich nicht nur einer hohen Beliebtheit, sondern verfügen über eine breite Unterstützung durch die Browser. So weit, so gut: Welche Technik ist nun die bessere oder leistungsfähigere, und welche Technik eignet sich für welches Einsatzszenario?

Flexbox vs. Grids

Um die Entscheidung bei der Wahl zwischen Flexbox oder CSS3-Grids für dein Webprojekt zu erleichtern, gibt es ein paar Anhaltspunkte, die dir bei der Suche nach der Antwort weiterhelfen:

  • CSS3-Grids sind ein zweidimensionales System. Grids können sowohl Spalten als auch Zeilen adressieren und verarbeiten. Im Gegensatz dazu kann Flexbox, ein weitgehend eindimensionales System, entweder eine Spalte oder eine Zeile beeinflussen.
  • Die beiden Layout-Konzepte unterscheiden sich in ihren Ansätzen. Während Grids den Ansatz Layout First adressieren, ist der Ansatz von Flexbox Content First.
  • Sind die Inhalte vor der Erstellung des Layouts bekannt, ist Flexbox eine gute Entscheidung – sind umgekehrt Inhaltsarten und deren Beschaffenheit nicht bekannt, sind die CSS3-Grids eine bessere Wahl.
  • Das Flexbox-Konzept eignet sich am besten für die Komponenten einer Anwendung und bei kleinteiligen Layouts, während sich das Grid-Layout für das große Ganze eignet.
  • Wenn du nur Layout innerhalb einer Zeile oder Spalte definieren musst, spricht dies eher für den Einsatz von Flexbox. Wenn du allerdings ein richtiges Raster generieren musst oder die Inhalte zweidimensional ansprechen willst, sind CSS3-Grids angesagt.

Flexbox und Grids miteinander kombinieren

CSS3: Flexbox ist ein eindimensionales Konzept

Flexbox ist ein eindimensionales Konzept. (Grafik: t3n)

Du musst dich aber nicht zwingend für das eine oder gegen das andere Konzept entscheiden. Du kannst durchaus beide Layoutmodelle miteinander kombinieren. Beachte allerdings, dass du einen Flexbox-Container problemlos innerhalb eines CSS-Grid-Konstrukts verwenden kannst – umgekehrt funktioniert das aber nicht.

Mehr zum Thema:

Das könnte dich auch interessieren

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Digitales High Five
Holger Schellkopf (Chefredakteur t3n)

Anleitung zur Deaktivierung