Skip to main content

Sådan bruger du CSS-kolonner til flere kolonnewebsitelayouts

Sådan bruger du Google Analytics (Juni 2026)

Sådan bruger du Google Analytics (Juni 2026)
Anonim

I mange år har CSS floats været en finicky, men nødvendig, komponent i oprettelsen af ​​website layouts. Hvis dit design krævede flere kolonner, vendte du til flyder. Problemet med denne metode er, at på trods af den utrolige opfindsomhed, som webdesignere / -udviklere har vist for at oprette komplekse site layouts, var CSS-floats aldrig rigtig beregnet til at blive brugt på denne måde.

Mens floats og CSS positionering er sikker på at have et sted i webdesign i mange år fremover, giver nyere layoutteknikker, herunder CSS Grid og Flexbox, nu webdesignere nye måder at oprette deres layout på. En anden ny layoutteknik, der viser mange muligheder er CSS Multiple Columns.

CSS-kolonner har eksisteret i et par år nu, men manglende support i ældre browsere (primært ældre versioner af Internet Explorer) har holdt mange web-fagfolk fra at bruge disse stilarter i deres produktionsarbejde.

I slutningen af ​​støtten til de ældre versioner af IE eksperimenterer nogle webdesignere nu med nye CSS-layoutmuligheder, inklusive CSS-kolonner, og finder, at de har så meget mere kontrol med disse nye tilgange, end de gjorde med floats.

Grundlæggende om CSS-kolonner

Som navnet antyder, giver CSS flere kolonner (også kendt som CSS3 multi-column layout) dig mulighed for at opdele indhold i et angivet antal kolonner. De mest grundlæggende CSS-egenskaber, du vil bruge, er:

  • kolonne-count
  • kolonne-kløften

For kolonneantal angiver du antallet af kolonner, du vil have. Søjlehullet ville være tarmene eller afstanden mellem disse søjler. Browseren vil tage disse værdier og opdele indholdet jævnt i antallet af kolonner, du angiver.

Et almindeligt eksempel på CSS flere kolonner i praksis ville være at opdele en blok tekstindhold i flere kolonner, svarende til hvad du ville se i en avisartikel. Sig, at du har følgende HTML-markering (bemærk at jeg for eksempel kun sætter starten på et afsnit, mens det i praksis sandsynligvis vil være flere afsnit af indholdet i denne markering):

Overskriften til din artikel

Forestil dig mange stykker tekst her …

Hvis du så skrev disse CSS-stilarter:

.content {-moz-column-count: 3; -webkit-kolonneantal: 3; kolonneantal: 3; -moz-kolonne-mellemrum: 30px; -webkit-kolonne-mellemrum: 30px; kolonne-gap: 30px; }

Denne CSS-regel ville dele divisionen "indhold" i 3 ens kolonner med et hul på 30 pixels mellem dem. Hvis du ønskede to kolonner i stedet for 3, ville du blot ændre den værdi, og browseren ville beregne de nye bredder af disse kolonner for at opdele indholdet jævnt. Bemærk, at vi først bruger de sælger-præfikserede egenskaber først, efterfulgt af de ikke-præfikserede erklæringer.

Så nemt som det er, er brugen heraf på denne måde tvivlsomt for brug af hjemmesiden. Ja, du kan dele en masse indhold i flere kolonner, men det er måske ikke den bedste læseoplevelse for internettet, især hvis højden af ​​disse kolonner falder under skærmens "fold".

Læsere skulle så rulle op og ned for at kunne læse hele indholdet. Alligevel er chefen for CSS-kolonner lige så nem som du ser her, og den kan bruges til at gøre så meget mere end bare at dele indholdet i nogle afsnit - det kan faktisk bruges til layout.

Layout med CSS-kolonner

Sig, at du har en webside med et indholdsområde, der har 3 kolonner indhold. Dette er et meget typisk websted layout, og for at opnå disse 3 kolonner, ville du normalt flyde de divisioner, der er i. Med CSS multiple-kolonner er det så meget lettere.

Her er nogle eksempler HTML:

Fra vores blog

Indhold ville gå her …

Brug af kolonne-bredde

Der er en anden ejendom ud over "kolonneantal", som du kan bruge, og afhængigt af dine layoutbehov, kan det faktisk være et bedre valg for dit websted. Dette er "kolonnebredde". Brug af den samme HTML-markering som vist tidligere, kunne vi i stedet gøre med vores CSS:

.content {-moz-column-width: 500px; -webkit-kolonnebredde: 500px; kolonnebredde: 500px; -moz-kolonne-mellemrum: 30px; -webkit-kolonne-mellemrum: 30px; kolonne-gap: 30px; } .content div {display: inline-block; }

Sådan fungerer dette, at browseren bruger denne "kolonnebredde" som den maksimale værdi af den kolonne. Så hvis browservinduet er mindre end 500 pixels bredt, vil disse 3 divisioner vises i en enkelt kolonne, en af ​​toppen af ​​en anden. Dette er et typisk layout, der bruges til mobile / små skærmlayouter.

Da browserbredden øges for at være stor nok til at passe 2 kolonner sammen med de angivne kolonnehuller, går browseren automatisk fra et enkelt kolonne layout til to kolonner. Fortsæt med at øge skærmens bredde og i sidste ende får du et 3 kolonne design, hvor hver af vores 3 divisioner vises i deres egen kolonne. Igen er dette en fantastisk måde at få nogle lydhør, multi-enhed venlige layouts til, og du behøver ikke engang at bruge medieforespørgsler til at ændre layout stilarter!

Andre kolonneegenskaber

Ud over de egenskaber, der er omfattet her, er der også egenskaber for "kolonne-regel", herunder farve-, stil- og breddeværdier, der giver dig mulighed for at oprette regler mellem dine kolonner. Disse vil blive brugt i stedet for grænser, hvis du vil have nogle linjer, der adskiller dine kolonner.

Tid til forsøg

I øjeblikket er CSS Multiple Column Layout meget godt understøttet.Med præfikser kunne over 94% af webbrugere se disse stilarter, og den ikke-støttede gruppe ville virkelig være meget ældre versioner af Internet Explorer, som du måske ikke længere støtter.

Med dette niveau af støtte nu på plads, er der ingen grund til ikke at begynde at eksperimentere med CSS-kolonner og implementere disse stilarter på produktionsklare websteder. Du kan starte dine eksperimenter ved hjælp af HTML og CSS, der præsenteres i denne artikel, og spille rundt med forskellige værdier for at se, hvad der ville fungere bedst for dit websites layoutbehov.