10/01/2023
Introduktion til Bootstrap Grid Systemet
I den moderne webudviklingsverden er det essentielt at kunne skabe layouts, der tilpasser sig ubesværet til enhver skærmstørrelse – fra den mindste smartphone til den største desktop-skærm. Bootstrap, et af de mest populære front-end frameworks, tilbyder et kraftfuldt og fleksibelt grid system, der gør netop dette til en leg. Dette system er bygget på principperne om mobile-first og udnytter flexbox til at skabe dynamiske og responsive layouts baseret på et 12-kolonners system. Uanset om du er nybegynder eller en erfaren udvikler, vil denne guide give dig den nødvendige viden til at udnytte Bootstrap Grid Systemets fulde potentiale.

Hvordan Bootstrap Grid Fungerer
Bootstrap Grid Systemet er kernen i at opbygge strukturen på din hjemmeside. Det fungerer ved at organisere indhold i en hierarkisk struktur af containere, rækker (rows) og kolonner (columns). Hver komponent spiller en afgørende rolle i at definere layoutets responsivitet og udseende på tværs af forskellige enheder.
Containere: Fundamentet for dit Layout
En container er den yderste skal, der omslutter dit indhold og sikrer, at det centreres og får passende horisontal padding. Bootstrap tilbyder to primære typer af containere:
- .container: Giver en pixel-baseret, responsiv bredde. Bredden øges ved bestemte breakpoints for at udnytte mere skærmplads.
- .container-fluid: Strækker sig 100% af viewportens bredde på alle enheder. Ideel til at skabe fuldskærms layouts.
Du kan også bruge responsive varianter som .container-sm, .container-md osv., som kombinerer den responsive pixel-bredde med fluid-funktionalitet op til det specificerede breakpoint.
Rækker: Organisation af Kolonner
Rækker (.row) fungerer som beholdere for dine kolonner. Hver række tilføjer negativ margin for at modvirke den horisontale padding (gutter) på kolonnerne. Dette sikrer, at indholdet i dine kolonner er visuelt justeret langs venstre side. Det er vigtigt at bemærke, at kun kolonner kan være direkte børn af en række.
Kolonner: Byggestenene i dit Design
Kolonner er de grundlæggende elementer, der organiserer dit indhold vertikalt og horisontalt. Bootstrap Grid Systemet er baseret på et 12-kolonners system, hvilket giver en enorm fleksibilitet til at skabe layouts. Du definerer bredden af en kolonne ved at bruge klasser som .col, .col-sm-*, .col-md-*, .col-lg-* og .col-xl-* (og .col-xxl-* i nyere versioner). Tallet efter bindestregen angiver, hvor mange af de 12 tilgængelige kolonner, den pågældende kolonne skal optage.
Responsive Breakpoints
For at opnå et sandt responsivt design, anvender Bootstrap fem (eller seks i nyere versioner) breakpoints. Disse breakpoints definerer, hvornår dit layout ændrer sig for at tilpasse sig forskellige skærmstørrelser:
| Breakpoint | Min-width | Klasse Præfiks |
|---|---|---|
| Extra small (xs) | < 576px | .col- |
| Small (sm) | ≥ 576px | .col-sm- |
| Medium (md) | ≥ 768px | .col-md- |
| Large (lg) | ≥ 992px | .col-lg- |
| Extra large (xl) | ≥ 1200px | .col-xl- |
| Extra extra large (xxl) | ≥ 1400px | .col-xxl- |
En klasse som .col-md-6 betyder, at kolonnen vil optage 6 ud af 12 kolonner på medium enheder og derover. På mindre enheder (under det medium breakpoint) vil den automatisk optage 100% af bredden, medmindre andet er specificeret.
Auto-layout Kolonner
En af de mest kraftfulde funktioner i Bootstrap Grid er auto-layout. Dette betyder, at du kan oprette kolonner uden at specificere et eksplicit kolonnenummer. Hvis du blot bruger klassen .col på flere kolonner inden for samme række, vil de automatisk fordele bredden ligeligt mellem sig. Dette er utroligt praktisk, når du har et variabelt antal elementer, der skal vises med samme bredde.
Eksempel:
<div class="row"> <div class="col">Kolonne 1</div> <div class="col">Kolonne 2</div> <div class="col">Kolonne 3</div> </div>Dette vil resultere i tre lige brede kolonner på alle skærmstørrelser.
Sæt Bredden på Én Kolonne
Du kan også specificere bredden på én kolonne, og lade de øvrige kolonner i rækken automatisk tilpasse sig. Dette gøres ved at bruge en nummereret kolonneklasse (f.eks. .col-6) til den ene kolonne og .col til resten.
Eksempel:
<div class="row"> <div class="col">1 af 3</div> <div class="col-6">2 af 3 (bredere)</div> <div class="col">3 af 3</div> </div>Her vil de to .col-kolonner dele den resterende plads ligeligt, mens .col-6 optager halvdelen af den tilgængelige plads.
Variable Bredde Indhold
Brug .col-auto-klasser til at lade kolonnerne tilpasse sig bredden af deres indhold. Dette er nyttigt, når du har elementer med varierende indholdslængde, som skal organiseres responsivt.
<div class="row"> <div class="col col-lg-2">1 af 3</div> <div class="col-md-auto">Variabelt Indhold</div> <div class="col col-lg-2">3 af 3</div> </div>Avancerede Grid Funktioner
Ingen Gutters (.no-gutters)
Nogle gange ønsker du at fjerne den standard horisontale padding (gutter) mellem kolonnerne for at opnå et kant-til-kant design. Dette gøres ved at tilføje klassen .no-gutters til din .row.
<div class="row no-gutters"> <div class="col-6">Kolonne uden gutter</div> <div class="col-6">Kolonne uden gutter</div> </div>Kolonne Wrapping
Hvis du placerer mere end 12 kolonner i en enkelt række, vil de ekstra kolonner automatisk bryde til en ny linje som en samlet enhed. Dette sikrer, at dit layout forbliver funktionelt, selv hvis du overskrider de 12 kolonner.
<div class="row"> <div class="col-9">Kolonne 9/12</div> <div class="col-4">Kolonne 4/12 (bryder til ny linje)</div> <div class="col-6">Kolonne 6/12 (på ny linje)</div> </div>Kolonne Breaks
For at tvinge kolonner til at bryde til en ny linje på specifikke breakpoints, kan du bruge en kombination af .w-100 (width: 100%) og responsive display-utilities.

<div class="row"> <div class="col-6 col-sm-3">Kolonne</div> <div class="col-6 col-sm-3">Kolonne</div> <!-- Tvinger næste kolonner til at bryde til ny linje --> <div class="w-100 d-none d-md-block"></div> <div class="col-6 col-sm-3">Kolonne</div> <div class="col-6 col-sm-3">Kolonne</div> </div>Reordering
Bootstrap giver dig mulighed for at ændre den visuelle rækkefølge af dine kolonner ved hjælp af .order-* klasserne. Disse klasser er responsive, så du kan definere forskellige rækkefølger for forskellige breakpoints (f.eks. .order-1.order-md-2).
<div class="row"> <div class="col">Først, men usorteret</div> <div class="col order-12">Sidste, men sorteret sidst</div> <div class="col order-1">Første, men sorteret først</div> </div>Der findes også .order-first og .order-last for nemmere manipulation af elementernes placering.
Offsetting Kolonner
Du kan skabe mellemrum før kolonner ved hjælp af offset-klasser som .offset-md-*. Disse klasser øger den venstre margin på en kolonne med et specificeret antal kolonner.
<div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div> </div>Margin utilities som .ml-auto (margin-left: auto) kan også bruges til at skubbe kolonner til siden.
Nesting
Du kan indlejre rækker og kolonner inden i hinanden for at skabe mere komplekse layouts. En indlejret række skal dog indeholde kolonner, der tilsammen ikke overstiger 12 kolonner.
<div class="row"> <div class="col-sm-9"> Niveau 1: Kolonne 9/12 <div class="row"> <div class="col-8 col-sm-6">Niveau 2: Kolonne 8/12</div> <div class="col-4 col-sm-6">Niveau 2: Kolonne 4/12</div> </div> </div> </div>Row Columns
Bootstrap 5 introducerede .row-cols-* klasserne, som giver en nem måde at specificere antallet af kolonner i en række direkte på .row-elementet. Dette er en genvej til at oprette layouts med et fast antal lige brede kolonner.
<!-- To kolonner --> <div class="row row-cols-2"> <div class="col">Kolonne</div> <div class="col">Kolonne</div> <div class="col">Kolonne</div> <div class="col">Kolonne</div> </div> <!-- Fire kolonner --> <div class="row row-cols-4"> <div class="col">Kolonne</div> <div class="col">Kolonne</div> <div class="col">Kolonne</div> <div class="col">Kolonne</div> </div> <!-- Responsivt: 1 kolonne på xs, 2 på sm, 4 på md --> <div class="row row-cols-1 row-cols-sm-2 row-cols-md-4"> <div class="col">Kolonne</div> <div class="col">Kolonne</div> <div class="col">Kolonne</div> <div class="col">Kolonne</div> </div>Tilpasning med Sass
For udviklere, der bruger Bootstrap's Sass-filer, er der mulighed for at tilpasse grid systemet yderligere. Du kan ændre antallet af kolonner, gutter-bredden og breakpoints ved at redigere Sass-variabler som $grid-columns, $grid-gutter-width og $grid-breakpoints. Derefter kan du genkompilere Bootstrap med dine tilpassede indstillinger.
Eksempel på Sass Tilpasning
Hvis du for eksempel kun ønsker 4 kolonner og en gutter-bredde på 20px, kan du ændre variablerne således:
$grid-columns: 4; $grid-gutter-width: 20px; // Inkluder derefter Bootstrap's grid mixins @import "bootstrap/scss/grid"; Ofte Stillede Spørgsmål (FAQ)
Hvad er Bootstrap Grid Systemet?
Bootstrap Grid Systemet er et kraftfuldt og fleksibelt værktøj til at skabe responsive web-layouts. Det bruger et 12-kolonners system, flexbox og foruddefinerede klasser til at organisere indhold på tværs af forskellige skærmstørrelser.
Hvordan laver jeg et layout med 3 lige brede kolonner?
Brug klassen .col-4 på tre kolonner inden for en .row, eller brug auto-layout ved blot at tilføje .col til tre kolonner. Begge metoder vil resultere i tre lige brede kolonner.
Hvordan gør jeg et layout responsivt?
Brug de responsive grid-klasser som .col-sm-*, .col-md-* osv. Disse klasser lader dig definere, hvordan kolonnerne skal opføre sig ved forskellige breakpoints (skærmstørrelser).
Hvad er forskellen på .container og .container-fluid?
.container giver en fast, men responsiv bredde, der centrerer indholdet. .container-fluid strækker sig altid 100% af viewportens bredde.
Kan jeg bruge Bootstrap Grid uden Bootstrap JavaScript?
Ja, Bootstrap Grid Systemet er udelukkende CSS-baseret og kræver ikke Bootstrap's JavaScript-filer for at fungere.
Konklusion
Bootstrap Grid Systemet er et uundværligt værktøj for enhver webudvikler, der ønsker at skabe moderne, responsive og brugervenlige hjemmesider. Ved at forstå principperne bag containere, rækker, kolonner og breakpoints, kan du bygge komplekse layouts med lethed. Eksperimenter med de forskellige muligheder, og opdag hvor effektivt du kan styre dit designs udseende på tværs af alle enheder.
Hvis du vil læse andre artikler, der ligner Boostrap Grid: Skab Responsivt Design Nemt, kan du besøge kategorien Teknologi.
