Wann verwendet man CSS Spalten?

Avatar of Geoff Graham
Geoff Graham am

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

Das ist keine rhetorische Frage: Ich bin wirklich daran interessiert, großartige Anwendungsfälle für CSS-Mehrspaltlayouts zu finden.

Die Antwort scheint einfach zu sein. Verwenden Sie Spalten, wenn Sie Inhalte in Spalten aufteilen möchten, richtig? Hier ist im Allgemeinen die Art von Beispiel, die Sie in Artikeln finden, die zeigen, wie CSS-Mehrspaltlayouts funktionieren, einschließlich unseres eigenen Almanacs

Genau. Aber ist das ein tatsächlicher Anwendungsfall? Vielleicht. Wenn der Text relativ kurz ist, dann ist es vielleicht eine nette Geste. So habe ich es mir verkauft, als ich meine Website vor ein paar Jahren neu gestaltet habe. Heute ist das nicht mehr so, aber so sah es damals aus

Aber ein ganzer langer Artikel, der in Spalten aufgeteilt ist? Ich liebe es in Zeitungen, aber ich zögere, eine Webseite nach unten zu scrollen, um eine Spalte zu lesen, nur um dann wieder nach oben zu scrollen, um es noch einmal zu tun.

Ich nehme an, wir können es verwenden, um zwei Elemente nebeneinander zu platzieren, aber Flexbox ist dafür viel besser geeignet. Außerdem hindert uns eine Einschränkung daran, die Spalten auszuwählen, um sie einzeln zu dimensionieren. Die Spalten müssen die gleiche Breite haben.

Ein Vorteil von Spalten ist, dass sie die einzige CSS-Layoutmethode sind, die Inhalte fragmentiert. (Das heißt, es sei denn, wir zählen CSS Regions… was ist eigentlich mit denen passiert?!) Wenn Sie also einen Absatz in Spalten aufteilen möchten, ist dies bereits ohne zusätzliche Wrapper möglich.

Wann sonst müssten Sie einen fortlaufenden Inhaltsblock in Spalten aufteilen? Ich erinnere mich, dass ich das tun musste, als ich eine große ungeordnete Liste von Elementen hatte. Ich mag es, wie Listen Inhalte leicht scannbar machen, aber lange Listen können eine Seite sehr schwer aussehen lassen. Nehmen wir zum Beispiel an, wir würden alle Post-Tags für CSS-Tricks in alphabetischen Gruppen auflisten. Ein Mehrspaltenlayout funktioniert dafür hervorragend

Probieren Sie es aus und ändern Sie die Breite des Viewports. Drei Spalten sind definiert, aber die Anzahl ändert sich je nach verfügbarem Platz. Ich liebe all diese reaktionsschnelle Güte ohne die Media-Query-Arbeit!

Ich habe an einer Demo für die :left Pseudoklasse gearbeitet und zu columns gegriffen, da es eine großartige Möglichkeit ist, Dinge für Druckdemos zu fragmentieren. Also, ich schätze, das ist ein weiterer Anwendungsfall. Und während ich eine Demo gemacht habe, erkannte ich, dass ein Mehrspaltenlayout verwendet werden könnte, um ein Masonry-Gitter von Elementen zu erstellen, wie eine Bildgalerie

Aber was noch? Sind wir auf kurze Absätze, lange Listen und frei fließende Gitter beschränkt?