Machen Sie sich keine Gedanken (Flexbox) Grids

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Vor vier Jahren habe ich "Machen Sie sich keine Gedanken über Grids" veröffentlicht und es hat bei ziemlich vielen Leuten Anklang gefunden. Schon damals dachte ich, wir könnten am Höhepunkt der Grid-Entwicklung sein. Jede Woche wurde ein neues Grid-Framework beworben.

Dieser Artikel war meine Art zu sagen: "Fürchte dich nicht! Du kannst ein Grid selbst erstellen! Du brauchst kein kompliziertes Framework." Es war vielleicht nicht ganz so schick, aber so habe ich es gemacht. Man floatet ein paar Elemente mit einigen prozentualen Breiten und fertig.

Heutzutage, wenn Sie bereit sind, Flexbox für Layouts zu verwenden, sind DIY-Grids noch einfacher.

So mache ich es normalerweise

<div class="flex-grid">
  <div class="col"></div>
  <div class="col"></div>
  <div class="col"></div>
</div>
.flex-grid {
  display: flex;
}
.col {
  flex: 1;
}

Das unterstützt beliebig viele Spalten, und sie sind automatisch gleich breit und flexibel!

Möchten Sie, dass sie sich für kleine Bildschirme in eine Spalte aufteilen? Einfach.

@media (max-width: 400px) {
  .flex-grid {
    display: block;
  }
}

Brauchen Sie Abstände? Sie könnten den Spalten Margen hinzufügen. Sie könnten den Spalten Padding hinzufügen. Mir gefällt die Idee, die Ausrichtung zu nutzen, um Spalten zu erstellen, wie z.B.

.flex-grid-thirds {
  display: flex;
  justify-content: space-between;
}
.flex-grid-thirds .col {
  width: 32%;
}

Wenn Sie den Flexbox-Weg wählen, haben Sie auch die Möglichkeit, die Reihenfolge der Spalten nach Bedarf zu ändern, was großartig sein kann, um wichtigere Inhalte höher im Quellcode zu halten, sowie für responsives Design-Umordnen.

Siehe den Pen Easy Flexbox Grid von Chris Coyier (@chriscoyier) auf CodePen.

Mein Punkt, noch einmal: Sie müssen kein Grid-Framework verwenden, um ein Grid zu erstellen. Sie können es schaffen! Das bedeutet auch nicht, dass Flexbox trivial einfach ist und Sie nie Probleme haben werden. Es gibt viele Randfälle und seltsame Browser-Unterstützungsangelegenheiten, auf die Sie stoßen könnten, wenn Sie nischigere Flexbox-Features verwenden. Die hier betrachteten Dinge sind jedoch ziemlich vanilla und ich wäre überrascht, wenn Sie Probleme hätten.

Mehr

Philip Walton hat mehr über die Herrlichkeit von Flexbox-Grid-Systemen geschrieben.

Um fair zu sein, Grid-Frameworks sind in der Regel ziemlich robust, und viele Teams finden Erfolg darin, vordefinierte Klassen und Rezepte für den Aufbau jeder Art von Grid zu haben, die sie benötigen. Wenn Sie daran interessiert sind, auf ein Grid-Framework zurückzugreifen, das Flexbox-spezifisch ist, hier sind ein paar, von denen ich weiß: Frow, Flexbox Grid und Gridlex.