At skabe et velstruktureret og responsivt layout er essentielt for moderne webdesign. Bootstrap 4 tilbyder et robust grid-system, der gør netop dette muligt. Dette system er baseret på en række containere, rækker og kolonner, som tilsammen giver dig fuld kontrol over, hvordan dit indhold præsenteres på forskellige enheder og skærmstørrelser. Forestil dig det som et fleksibelt gitter, du kan placere dine elementer i, så de altid ser bedst muligt ud, uanset om de vises på en stor computerskærm eller en lille smartphone.
Kerneprincippet i Bootstrap 4's grid-system er opdelingen i 12 kolonner pr. række. Dette 12-kolonners layout er standarden og giver en enorm fleksibilitet. Du kan vælge at bruge alle 12 kolonner individuelt, eller du kan gruppere dem sammen for at skabe bredere kolonner. For eksempel kan du have tre lige store kolonner ved at lade hver spænde over 4 af de 12 tilgængelige enheder (4 + 4 + 4 = 12). Du kan også have en bredere sektion og en smallere ved at kombinere, for eksempel, 8 kolonner og 4 kolonner (8 + 4 = 12). Alle kombinationer, der summerer til 12, er mulige inden for en enkelt række.

Responsivitet er Nøglen
En af de mest kraftfulde funktioner ved Bootstrap's grid-system er dets indbyggede responsivitet. Det betyder, at layoutet automatisk kan ændre sig baseret på skærmstørrelsen. Det, der ser godt ud som tre kolonner på en stor skærm, vil sandsynligvis se bedre ud stablet oven på hinanden på en lille skærm. Grid-systemet håndterer denne tilpasning ved hjælp af forskellige CSS-klasser, der er bundet til specifikke skærmstørrelser, også kendt som breakpoints.
Grid Klasser og Breakpoints i Bootstrap 4
Bootstrap 4's grid-system definerer fem forskellige klasser, der korrelerer med forskellige skærmstørrelser. Disse klasser kan kombineres for at skabe meget dynamiske og fleksible layouts, der ændrer sig præcist, som du ønsker, afhængigt af enheden:
.col-
: Til ekstra små enheder (skærmbredde mindre end 576px). Dette er standardklassen for 'altid vandret' eller 'stablet som standard, men vandret over nul-breakpoint'..col-sm-
: Til små enheder (skærmbredde lig med eller større end 576px)..col-md-
: Til mellemstore enheder (skærmbredde lig med eller større end 768px)..col-lg-
: Til store enheder (skærmbredde lig med eller større end 992px)..col-xl-
: Til ekstra store enheder (skærmbredde lig med eller større end 1200px).
En vigtig pointe er, at hver klasse skalerer opad. Hvis du definerer en kolonnebredde med .col-sm-4
, vil denne bredde (4 ud af 12 kolonner) gælde for alle skærmstørrelser, der er små (>= 576px) og større (md, lg, xl), medmindre du specifikt overskriver den for en større breakpoint. Dette gør det nemt at definere et standardlayout for mobile enheder og lade det skalere op til større skærme.
Grundlæggende Regler for Bootstrap 4 Grid
For at grid-systemet skal fungere korrekt, er der et par grundlæggende regler, der skal følges:
- Rækker (elementer med klassen
.row
) skal placeres inden i en.container
(fast bredde) eller.container-fluid
(fuld bredde) for korrekt justering og polstring. - Brug rækker til at oprette vandrette grupper af kolonner.
- Indhold skal placeres inden i kolonner, og kun kolonner må være umiddelbare børn af rækker.
- Foruddefinerede klasser som
.row
og.col-sm-4
er tilgængelige for hurtigt at opbygge grid-layouts. - Kolonner skaber 'gutters' (mellemrum mellem kolonneindhold) via polstring. Denne polstring opvejes i rækker for den første og sidste kolonne via negativ margin på
.rows
. - Grid-kolonner oprettes ved at specificere antallet af de 12 tilgængelige kolonner, du ønsker at spænde over. For eksempel vil tre lige store kolonner bruge tre elementer med klassen
.col-sm-4
. - Kolonnebredder angives i procent, så de er altid flydende og størrelsesmæssigt relative til deres overordnede element.
Flexbox: Den Store Ændring i Bootstrap 4
Den største forskel mellem Bootstrap 3 og Bootstrap 4 er, at Bootstrap 4 nu bruger Flexbox i stedet for floats til at styre grid-layoutet. Dette medfører en stor fordel: grid-kolonner uden en specificeret bredde vil automatisk layoutes som 'lige brede kolonner' (og lige høje). For eksempel, hvis du har en række med tre elementer, der kun har klassen .col-sm
(uden et nummer), vil hver kolonne automatisk blive 33.33% bred fra 'small' breakpoint'et og op. Flexbox gør det også meget nemmere at justere indhold vertikalt og horisontalt inden for kolonnerne. Det er dog vigtigt at bemærke, at Flexbox ikke understøttes i Internet Explorer 9 og tidligere versioner. Hvis du har brug for understøttelse af IE8-9, anbefales det at bruge Bootstrap 3.
Grundlæggende Struktur i et Bootstrap 4 Grid
Den grundlæggende struktur for et Bootstrap 4 grid ser typisk således ud:
<div class="container">
<div class="row">
<div class="col-*-*"></div>
<div class="col-*-*"></div>
<div class="col-*-*"></div>
</div>
<div class="row">
<div class="col"></div>
<div class="col"></div>
</div>
</div>
I den første række specificerer du kolonnebredderne for et bestemt breakpoint. Stjernen (*) repræsenterer responsiviteten (sm, md, lg, xl), mens den anden stjerne (*) repræsenterer antallet af kolonner (1-12), som kolonnen skal spænde over. Summen af tallene i en række skal altid være 12. I den anden række lader du Bootstrap automatisk håndtere layoutet ved kun at bruge klassen .col
. Hvis der er to .col
elementer i en række, bliver de hver 50% brede. Hvis der er fire, bliver de hver 25% brede, osv. Du kan også kombinere dette med breakpoints, f.eks. .col-sm
, for at få lige brede kolonner fra et bestemt breakpoint og op.

Grid Indstillinger Oversigt
Følgende tabel opsummerer, hvordan Bootstrap 4's grid-system fungerer på tværs af forskellige skærmstørrelser (breakpoints), baseret på den leverede information:
Ekstra Små (<576px) | Små (>=576px) | Mellemstore (>=768px) | Store (>=992px) | Ekstra Store (>=1200px) | |
---|---|---|---|---|---|
Klasse Præfiks | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
Grid Opførsel | Altid vandret | Stablet til start, vandret over breakpoint | Stablet til start, vandret over breakpoint | Stablet til start, vandret over breakpoint | Stablet til start, vandret over breakpoint |
Container Bredde | Ingen (auto) | 540px | 720px | 960px | 1140px |
Egnet til | Portræt telefoner | Landskab telefoner | Tablets | Laptops | Laptops og Desktops |
Antal Kolonner | 12 | 12 | 12 | 12 | 12 |
Gutter Bredde | 30px (15px på hver side) | 30px (15px på hver side) | 30px (15px på hver side) | 30px (15px på hver side) | 30px (15px på hver side) |
Kan indlejres | Ja | Ja | Ja | Ja | Ja |
Offsets | Ja | Ja | Ja | Ja | Ja |
Kolonne Bestilling | Ja | Ja | Ja | Ja | Ja |
Denne tabel illustrerer tydeligt, hvordan de forskellige breakpoints påvirker containerbredden og kolonneopførselen. Bemærk, at .col-
klassen uden et breakpoint specifikt nævnes for ekstra små enheder, hvilket indikerer dens 'mobile-first' natur i B4.
Forståelse af Specifikke Klasser: Hvad betyder f.eks. col-md-4?
At forstå de enkelte klasser er afgørende for at kunne udnytte grid-systemet fuldt ud. Lad os nedbryde et eksempel:
col-md-4
: Denne klasse instruerer browseren om, at det element, den er anvendt på, skal spænde over 4 af de 12 tilgængelige kolonner. Præfikset-md-
betyder, at denne regel kun gælder for mellemstore enheder (skærmbredde lig med eller større end 768px) og opad (altså også for lg og xl), medmindre den overskrives af en større breakpoint-klasse. På skærme, der er mindre end 768px, vil denne kolonne som standard stable sig, typisk ved at optage 100% af rækkens bredde, medmindre en mindre breakpoint-klasse (som.col-sm-
eller.col-
) er specificeret for samme element.col-sm-4
: Som nævnt tidligere, vil denne klasse få elementet til at spænde over 4 kolonner fra 'small' breakpoint'et (>= 576px) og op. På skærme mindre end 576px vil den stable.col-lg-2
: Denne klasse får elementet til at spænde over 2 kolonner fra 'large' breakpoint'et (>= 992px) og op. På skærme mindre end 992px vil den stable (eller følge regler fra mindre breakpoints, hvis specificeret).col-
: Denne klasse uden et breakpoint eller nummer får kolonnen til automatisk at optage lige meget plads som andre.col
elementer i samme række på alle skærmstørrelser (< 576px og op). Hvis den kombineres med et nummer, f.eks..col-6
, vil den spænde over 6 kolonner på ekstra små skærme og op.
Ved at kombinere disse klasser kan du skabe komplekse, responsive layouts. For eksempel, et element med klasserne col-sm-6 col-md-4 col-lg-3
vil optage 6 kolonner på små skærme, 4 kolonner på mellemstore skærme og 3 kolonner på store skærme og derover. På ekstra små skærme vil det stable (optage 12 kolonner) medmindre en .col-
klasse uden breakpoint er specificeret.
Ofte Stillede Spørgsmål om Bootstrap Grid
Hvad er forskellen på .col-, .col-sm-, .col-md-, .col-lg- og .col-xl-?
Disse er klasser, der definerer, hvordan en kolonne skal opføre sig ved forskellige skærmstørrelser, kaldet breakpoints. .col-
gælder for ekstra små skærme (<576px) og opad, hvis ikke andet er specificeret. .col-sm-
gælder for små skærme (>=576px) og opad. .col-md-
for mellemstore skærme (>=768px) og opad. .col-lg-
for store skærme (>=992px) og opad. .col-xl-
for ekstra store skærme (>=1200px) og opad. De bruges typisk i formatet .col-[breakpoint]-[antal-kolonner]
for at specificere bredden.
Hvorfor skal kolonnebredderne i en række altid lægge sammen til 12?
Grid-systemet er baseret på et 12-enheders system. For at indholdet i en række skal udfylde den tilgængelige plads korrekt og for at sikre forudsigelig adfærd, især ved responsivitet, er det designet således, at summen af kolonneenhederne i en enkelt række ideelt set skal være 12. Hvis summen overstiger 12, vil de overskydende kolonner bryde om til næste 'linje' uanset skærmstørrelse.

Kan jeg have kolonner med automatisk bredde?
Ja, takket være Flexbox i Bootstrap 4 kan du bruge klassen .col
uden et breakpoint eller nummer. Hvis du har flere .col
elementer i en række, vil de automatisk dele den tilgængelige plads ligeligt. Du kan også bruge .col-[breakpoint]
(f.eks. .col-sm
) for at få lige brede kolonner fra et specifikt breakpoint og op.
Hvad er 'gutters'?
'Gutters' er de mellemrum, der findes mellem kolonnerne i en række. I Bootstrap 4 er de standard 30px brede (15px polstring på venstre side og 15px på højre side af hver kolonne). Denne polstring opvejes af en negativ margin på .row
elementet for at sikre, at indholdet flugter korrekt med kanten af containeren.
Hvad er forskellen på .container og .container-fluid?
.container
giver en responsiv container med fast bredde, der ændrer størrelse ved hvert standard breakpoint. .container-fluid
giver en container med fuld bredde, der altid spænder over 100% af viewportens bredde.
At mestre Bootstrap 4's grid-system er en fundamental færdighed for enhver, der arbejder med webudvikling og ønsker at skabe moderne, responsive layouts. Ved at forstå principperne bag 12-kolonners systemet, brugen af breakpoints og fordelene ved Flexbox, kan du effektivt strukturere dit indhold og sikre en optimal brugeroplevelse på tværs af et utal af enheder. Øvelse med at kombinere de forskellige klasser og breakpoints vil hurtigt give dig intuitionen til at opbygge selv komplekse designs.
Hvis du vil læse andre artikler, der ligner Bootstrap 4 Grid System: En Dybere Guide, kan du besøge kategorien Fotografi.