Mit zunehmender Vielfalt an Monitorgrößen ist es nicht sinnvoll, einzelne Textblöcke zu entwerfen, die die gesamte Breite des Bildschirms einnehmen. Die traditionelle Lösung besteht darin, Text manuell in Spalten aufzuteilen, was sehr zeitaufwendig ist; oder um Text dynamisch mit JavaScript zu teilen, das nicht universell funktioniert. Außerdem ist dies ein Präsentationsproblem, wir sollten es mit CSS ohne die Verwendung von Grid-Systemen oder Floats stylen können, oder?
CSS3 bietet tatsächlich eine Möglichkeit für Sie, Ihren Text in verschiedene Spalten zu stylen, es gibt sogar die Möglichkeit, einen Zwischenspeicher zu setzen - den Abstand zwischen diesen Spalten - auf diese Weise haben Sie die volle Kontrolle anstatt das Framework oder Grid-System diese Lücken für Sie einzustellen .
Das Beste von allem ist, dass CSS3 nicht so gut abschneidet. Wenn also jemand in Netscape Navigator browst, wird Ihre Seite nicht beschädigt.
Es ist wichtig zu beachten, dass, während alle aktuellen Browser mehrere Spalten in CSS3 - ja sogar IE10 - unterstützen, viele neuere Versionen - IE9 zum Beispiel - nicht. Obwohl die Unterstützung gut ist, sollten Sie Browserpräfixe für Webkit (-webkit-) und Mozilla (-moz-) verwenden. Es gibt keine Notwendigkeit, -ms- oder -o für IE und Opera einzuschließen, da sie die Funktion entweder vollständig oder gar nicht unterstützen.
Diese CSS-Funktion bietet Ihnen eine Reihe von Eigenschaften, die Ihnen vollständige Kontrolle darüber geben, wie Ihre Inhalte im Browser gedruckt werden, und diese Eigenschaften sind:
Mit all diesen Eigenschaften glaube ich nicht, dass wir wirklich etwas anderes brauchen, um die volle Kontrolle über unsere Säulen zu haben. Natürlich sind nicht alle diese Eigenschaften notwendig, damit das mehrspaltige Layout funktioniert, eigentlich ist nur die Spaltenzählung notwendig, aber Sie sollten immer auch die Spaltenlücke verwenden, um dem Text ein wenig Raum zu geben und nicht alle Spalten zu haben übereinander.
Um dies in die Praxis umzusetzen, braucht es nur zwei Codezeilen:
/* This will produce a 3 column layout with a gap of 20px between each column */.cols3 {column-count: 3;column-gap: 20px;}
Wenn Sie auch eine Regel auf die Spalten anwenden möchten, müssen Sie nur die zusätzlichen Eigenschaften hinzufügen:
/* This will produce a 3 column layout and a gap of 20px between each column and a rule of 1px solid black */.cols3 {column-count: 3;column-gap: 20px;column-rule-width: 1px;column-rule-style: solid;column-rule-color: #000;}
Wie die gebräuchlichere Eigenschaft border können Sie auch die Farbe, den Stil und die Breite in derselben Zeile stapeln:
.cols3 {column-count: 3;column-gap: 20px;column-rule: 1px solid #000;}
Wenn Sie eine Überschrift haben und diese Überschrift alle Spalten umfassen soll, fügen Sie nur eine Zeile hinzu:
/*This h1 will take up the space of the 3 columns*/.cols3 h1{column-span: all;}
Sie können dies auf nahezu jeden HTML-Code anwenden, von einem einzigen Absatz bis zu mehreren
Das Springen zu CSS-Spalten hat meiner Meinung nach viele Vorteile. Es ist nicht nötig, viel Mathe, Floats oder Content-Breaking zu verwenden, wenn der Browser die Größe des Browsers ändert. Sie können Ihren Code auch viel semantischer schreiben, und da sie von allen gängigen Browsern unterstützt werden, sollten Sie ab sofort Spalten verwenden.
Stilisieren Sie Spalten mit CSS3 oder bleiben Sie bei Floats und Positionierung? Welche Tipps haben Sie für den Umgang mit älteren Browsern? Lassen Sie es uns in den Kommentaren wissen.
Ausgewähltes Bild / Vorschaubild, Spaltenbild über Shutterstock.