I många år har CSS-flottor varit en fin, men nödvändig komponent för att skapa webbsidor. Om din design krävde flera kolumner vände du till flottor. Problemet med denna metod är att, trots den otroliga uppfinningsrikedom som webbdesigners / utvecklare har visat för att skapa komplexa sidlayouter, var CSS-flottor aldrig riktigt menade att de skulle användas på detta sätt.
Medan floats och CSS-positionering säkert kommer att ha plats i webbdesign i många år framöver, ger nyare layouttekniker, inklusive CSS Grid och Flexbox, nu webbdesigners nya sätt att skapa sina webbsidor. En annan ny layoutteknik som visar mycket potential är CSS Multiple Columns.
CSS-kolumner har funnits i några år nu, men brist på stöd i äldre webbläsare (främst äldre versioner av Internet Explorer) har hållit många webbprofessorer från att använda dessa stilar i sitt produktionsarbete.
Med slutet av stödet för de äldre versionerna av IE experimenterar några webbdesigners nu med nya CSS-layoutalternativ, CSS-kolumner medföljer och konstaterar att de har så mycket kontroll över dessa nya tillvägagångssätt än vad de gjorde med flottor.
Grunderna för CSS-kolumner
Som namnet antyder kan CSS Multiple Columns (även känd som CSS3 multi-column layout) du dela upp innehåll i ett angivet antal kolumner. De mest grundläggande CSS-egenskaperna du skulle använda är:
- kolonn-count
- kolonn-gap
För kolumnräkning anger du antalet kolumner du vill ha. Kolonnklyftan skulle vara rännorna eller avståndet mellan dessa kolumner. Webbläsaren tar dessa värden och delar upp innehållet jämnt i antalet kolumner du anger.
Ett vanligt exempel på CSS flera kolumner i praktiken skulle vara att dela ett block textinnehåll i flera kolumner, liknande det du skulle se i en tidningsartikel. Säg att du har följande HTML-märkning (observera att jag till exempel bara lägger början på ett stycke, medan det i praktiken sannolikt kommer att vara flera stycken innehåll i denna markering):
Om du då skrev dessa CSS-stilar:
.content {-moz-column-count: 3; -webkit-kolumnräkning: 3; kolumnräkning: 3; -moz-kolonn-gapet: 30px; -webkit-kolumnavstånd: 30px; kolumnavstånd: 30px; }
Denna CSS-regel skulle dela upp innehållsdelningen i 3 lika kolumner med ett gap på 30 pixlar mellan dem. Om du ville ha två kolumner istället för 3, skulle du helt enkelt ändra det värdet och webbläsaren skulle beräkna de nya bredderna för de här kolumnerna för att dela innehållet jämnt. Observera att vi använder först säljaren prefixade egenskaper först, följt av de icke-prefixade deklarationerna.
Så enkelt som det här är användningen på detta sätt tvivelaktigt för webbplatsanvändning. Ja, du kan dela upp en massa innehåll i flera kolumner, men det här kanske inte är den bästa läsupplevelsen för webben, speciellt om höjden på dessa kolumner faller under skärmens "vikning".
Läsarna skulle då behöva rulla upp och ner för att kunna läsa hela innehållet. Ändå är chefen för CSS-kolumner lika enkelt som du ser här, och det kan användas för att göra så mycket mer än att bara dela upp innehållet i vissa stycken - det kan faktiskt användas för layout.
Layout med CSS-kolumner
Säg att du har en webbsida med ett innehållsområde som har 3 kolumner innehåll. Detta är ett mycket typiskt webbplatslayout, och för att uppnå de tre kolumnerna skulle du normalt flyta uppdelningarna som finns. Med CSS multipelkolumner är det så mycket lättare.
Här är några exempel HTML: