Skip to main content

CSS-kolommen gebruiken voor lay-outs met meerdere kolommen

Kolommen layout maken (April 2025)

Kolommen layout maken (April 2025)
Anonim

Jarenlang waren CSS-drijvers een moeilijk te begrijpen, maar noodzakelijk onderdeel bij het maken van websitelay-outs. Als je ontwerp voor meerdere kolommen heeft gekozen, wend je je tot drijvers. Het probleem met deze methode is dat, ondanks de ongelooflijke vindingrijkheid die webontwerpers / -ontwikkelaars hebben getoond bij het maken van complexe site-indelingen, CSS-praalwagens nooit echt bedoeld waren om op deze manier te worden gebruikt.

Terwijl vlotters en CSS-positionering zeker nog vele jaren een plaats zullen hebben in webdesign, geven nieuwere lay-outtechnieken waaronder CSS Grid en Flexbox nu webontwerpers nieuwe manieren om hun sitelay-outs te maken. Een andere nieuwe lay-outtechniek met veel potentieel is CSS Multiple Columns.

CSS-kolommen bestaan ​​al een paar jaar, maar gebrek aan ondersteuning in oudere browsers (voornamelijk oudere versies van Internet Explorer) heeft veel webprofessionals ervan weerhouden deze stijlen te gebruiken in hun productiewerk.

Met het einde van de ondersteuning voor die oudere versies van IE, experimenteren sommige webontwerpers nu met nieuwe CSS-lay-outopties, inclusief CSS-kolommen, en vinden ze dat ze zoveel meer controle hebben over deze nieuwe benaderingen dan met drijvers.

De grondbeginselen van CSS-kolommen

Zoals de naam al doet vermoeden, kunt u met CSS Multiple Columns (ook bekend als CSS3-lay-out met meerdere kolommen) inhoud opsplitsen in een bepaald aantal kolommen. De meest basale CSS-eigenschappen die u zou gebruiken zijn:

  • column-count
  • kolom-gap

Voor kolomtelling geeft u het aantal gewenste kolommen op. De kolomopening zou de goten of ruimte tussen die kolommen zijn. De browser neemt deze waarden en verdeelt de inhoud gelijkmatig in het aantal kolommen dat u opgeeft.

Een veelvoorkomend voorbeeld van CSS-meerdere kolommen in de praktijk zou zijn om een ​​blok met tekstinhoud op te splitsen in meerdere kolommen, vergelijkbaar met wat u in een krantenartikel zou zien. Stel dat u de volgende HTML-markeringen hebt (houd er bijvoorbeeld rekening mee dat ik slechts één alinea begin, terwijl er in de praktijk waarschijnlijk meerdere alinea's met inhoud in deze opmaak staan):

De kop van uw artikel

Stel je voor dat je hier veel alinea's van de tekst leest …

Als je deze CSS-stijlen hebt geschreven:

.content {-moz-column-count: 3; -webkit-kolom-telling: 3; kolom aantal: 3; -moz-column-gap: 30px; -webkit-column-gap: 30px; kolomafstand: 30px; }

Deze CSS-regel splitste de "inhoud" -divisie in 3 gelijke kolommen met een tussenruimte van 30 pixels. Als u twee kolommen in plaats van 3 wilde, zou u eenvoudig die waarde wijzigen en de browser zou de nieuwe breedten van die kolommen berekenen om de inhoud gelijkmatig te verdelen. Merk op dat we eerst de door de verkoper vooraf gedefinieerde eigenschappen gebruiken, gevolgd door de niet-voorgecertificeerde verklaringen.

Hoe gemakkelijk dit ook is, het gebruik ervan is dubieus voor het gebruik van de website. Ja, u kunt een heleboel inhoud in meerdere kolommen splitsen, maar dit is misschien niet de beste leeservaring voor het web, vooral als de hoogte van deze kolommen onder de "vouw" van het scherm valt.

Lezers zouden dan op en neer moeten scrollen om de volledige inhoud te lezen. Toch is het principe van CSS Columns net zo eenvoudig als je hier ziet, en het kan worden gebruikt om zoveel meer te doen dan alleen de inhoud van sommige alinea's te splitsen - het kan inderdaad worden gebruikt voor lay-out.

Layout met CSS-kolommen

Stel dat u een webpagina heeft met een inhoudsgebied met 3 inhoudskolommen. Dit is een zeer typische website-indeling en om die 3 kolommen te bereiken, drijft u normaal gezien de divisies die zich bevinden. Met CSS-meerdere kolommen is het zoveel eenvoudiger.

Hier is wat voorbeeld-HTML:

Van onze blog

Inhoud zou hier gaan …

Kolombreedte gebruiken

Naast "kolomtelling" is er nog een andere eigenschap die u kunt gebruiken, en afhankelijk van uw lay-outbehoeften is dit misschien een betere keuze voor uw site. Dit is "kolombreedte". Gebruikmakend van dezelfde HTML-markup zoals eerder getoond, kunnen we dit in plaats daarvan doen met onze CSS:

.content {-moz-column-width: 500px; -webkit-kolombreedte: 500 px; kolombreedte: 500 px; -moz-column-gap: 30px; -webkit-column-gap: 30px; kolomafstand: 30px; } .content div {display: inline-block; }

De manier waarop dit werkt, is dat de browser deze "kolombreedte" gebruikt als de maximale waarde van die kolom. Dus als het browservenster minder dan 500 pixels breed is, verschijnen deze 3 divisies in een enkele kolom, een van de toppen van een andere kolom. Dit is een typische lay-out die wordt gebruikt voor lay-outs voor mobiel / klein scherm.

Naarmate de breedte van de browser groter wordt om 2 kolommen samen met de opgegeven kolomruimten te passen, gaat de browser automatisch van een enkele kolomlay-out naar twee kolommen. Blijf de schermbreedte vergroten en uiteindelijk krijgt u een ontwerp met 3 kolommen, met elk van onze 3 divisies weergegeven in hun eigen kolom. Nogmaals, dit is een geweldige manier om een ​​aantal responsieve, gebruiksvriendelijke lay-outs voor meerdere apparaten te krijgen en u hoeft zelfs geen mediaquery's te gebruiken om de lay-outstijlen te wijzigen!

Andere kolomeigenschappen

Naast de hier behandelde eigenschappen zijn er ook eigenschappen voor 'kolomregel', inclusief waarden voor kleur, stijl en breedte waarmee u regels tussen uw kolommen kunt maken. Deze zouden worden gebruikt in plaats van randen als u wilt dat sommige regels uw kolommen scheiden.

Tijd om te experimenteren

Momenteel wordt CSS Multiple Column Layout zeer goed ondersteund.Met voorvoegsels zou meer dan 94% van de webgebruikers deze stijlen kunnen zien, en die niet-ondersteunde groep zou eigenlijk gewoon veel oudere versies van Internet Explorer zijn die je sowieso niet meer zou kunnen ondersteunen.

Nu dit niveau van ondersteuning aanwezig is, is er geen reden om niet te gaan experimenteren met CSS-kolommen en deze stijlen te implementeren in websites die klaar zijn voor productie. U kunt uw experimenten starten met de HTML en CSS die in dit artikel worden gepresenteerd en met verschillende waarden spelen om te zien wat het beste zou werken voor de lay-outbehoeften van uw site.