03/02/2023
I en verden, hvor brugere tilgår indhold fra et utal af enheder – fra små smartphones til store skrivebordsmonitorer – er responsivt design ikke længere en luksus, men en absolut nødvendighed. Bootstrap 4, et af verdens mest populære front-end frameworks, er bygget fra bunden med netop dette i tankerne. Det giver udviklere et kraftfuldt sæt værktøjer og utility-klasser, der gør det nemt at skabe smukke, funktionelle og frem for alt mobilvenlige hjemmesider.

Denne artikel vil dykke ned i, hvordan du effektivt kan bruge Bootstrap 4 til at opnå fuld responsivitet. Vi vil udforske de essentielle utility-klasser til layout, styring af visning, udnyttelse af flexbox, kontrol af mellemrum og håndtering af synlighed på tværs af forskellige skærmstørrelser. Ved at mestre disse teknikker kan du sikre, at dit indhold ser fantastisk ud og fungerer fejlfrit, uanset hvilken enhed dine besøgende bruger.
Værktøjer til Layout og Responsivitet
For at accelerere den mobilvenlige og responsive udviklingsproces inkluderer Bootstrap 4 et væld af utility-klasser. Disse klasser er designet til at give dig præcis kontrol over, hvordan indhold vises, skjules, justeres og placeres på din side. De er fundamentet for en hurtig og effektiv udvikling, da de mindsker behovet for at skrive brugerdefinerede CSS-regler for almindelige layoutopgaver. Ved at anvende disse klasser direkte i din HTML kan du opnå komplekse layouts med minimal indsats og maksimale resultater. De spænder over alt fra display-egenskaber til flexbox-justeringer og margin/padding-kontrol, hvilket gør dem utroligt alsidige.
Kontrol af Visning med Display Utilities
En af de mest grundlæggende, men kraftfulde, funktioner i Bootstrap 4 er dets display utilities. Disse klasser giver dig mulighed for responsivt at skifte almindelige værdier af CSS-egenskaben display. Du kan blande dem med Bootstraps grid-system, indhold eller komponenter for at vise eller skjule dem på tværs af specifikke viewports (skærmstørrelser).
Hver display-utility har et responsivt variant. De er navngivet i formatet .d-{breakpoint}-{value} for at målrette specifikke skærmstørrelser. For eksempel:
.d-none: Skjuler elementet på alle skærmstørrelser..d-block: Viser elementet som et block-element på alle skærmstørrelser..d-sm-none: Skjuler elementet på skærmstørrelser mindre endsm(small), men viser det påsmog op..d-md-block: Viser elementet som et block-element framd(medium) breakpoint og op. Dette er svaret på spørgsmålet om, hvordan man viser enD-MD-blocki Bootstrap V4. Det betyder, at elementet vil blive vist som et block-element på medium, large og extra-large skærme, men vil som standard være skjult på ekstra små og små skærme, medmindre en andend-{breakpoint}-noneklasse er anvendt for at skjule det på de mindre skærme..d-lg-flex: Viser elementet som et flex-container fralg(large) breakpoint og op.
Her er en oversigt over de mest almindelige display-værdier og deres responsive anvendelse:
| Klasse | Beskrivelse | Eksempel | |
|---|---|---|---|
.d-none | Skjuler elementet. | <div class="d-none">Jeg er altid skjult.</div> | |
.d-block | Viser elementet som block. | <span class="d-block">Jeg er en block.</span> | |
.d-inline | Viser elementet inline. | <div class="d-inline">Inline.</div> | |
.d-flex | Viser elementet som flex-container. | <div class="d-flex">Flex container.</div> | |
.d-sm-none | Skjult på ekstra små skærme, synlig fra 'small' og op. | <div class="d-sm-none">Kun synlig på mobil.</div> | |
.d-md-block | Synlig som block fra 'medium' og op, skjult på mindre. | <div class="d-md-block d-none">Kun synlig på desktop.</div> | |
.d-lg-inline-block | Inline-block fra 'large' og op, skjult på mindre. | <div class="d-lg-inline-block d-none">Inline-block på store skærme.</div> |
Fleksibel Udvikling med Flexbox
En af de største forbedringer i Bootstrap 4 er, at det er bygget med flexbox. Selvom ikke alle elementers display-egenskab er ændret til display: flex som standard – da dette ville tilføje mange unødvendige overrides og uventet ændre vigtige browser-adfærd – er de fleste af Bootstraps komponenter bygget med flexbox aktiveret. Dette giver en utrolig fleksibilitet i layout og justering af indhold.
Skulle du få brug for at tilføje display: flex til et element, kan du gøre det med klassen .d-flex eller en af de responsive varianter (f.eks. .d-sm-flex). Du får brug for denne klasse eller display-værdi for at kunne anvende Bootstraps ekstra flexbox-utilities til størrelse, justering, mellemrum og meget mere. Disse utilities inkluderer klasser som justify-content-center, align-items-start, flex-column og flex-wrap, som giver dig fuld kontrol over dit flexbox-layout uden at skrive en eneste linje CSS.

Eksempel på flexbox-klasser:
.d-flex: Gør elementet til en flex-container..justify-content-center: Centrerer indholdet horisontalt..align-items-end: Justerer indholdet til bunden vertikalt..flex-column: Arrangerer flex-elementer i en kolonne..flex-sm-row: Arrangerer flex-elementer i en række fra 'small' breakpoint og op..order-1,.order-last: Ændrer rækkefølgen af flex-elementer.
Mellemrum og Størrelse med Margin og Padding
Kontrol af, hvordan elementer og komponenter er placeret og dimensioneret, er afgørende for et vellykket responsivt design. Her kommer margin og padding spacing utilities ind i billedet. Bootstrap 4 inkluderer en fem-niveau skala for spacing utilities, baseret på en standard 1rem-værdi ($spacer-variablen).
Du kan vælge værdier for alle viewports (f.eks. .mr-3 for margin-right: 1rem), eller vælge responsive varianter for at målrette specifikke viewports (f.eks. .mr-md-3 for margin-right: 1rem startende ved md breakpoint).
Disse klasser følger et intuitivt navngivningsmønster:
- Egenskab:
mfor margin,pfor padding. - Sider:
t(top),b(bottom),l(left),r(right),x(venstre og højre),y(top og bund), blank (alle sider). - Størrelse:
0(0),1(0.25rem),2(0.5rem),3(1rem),4(1.5rem),5(3rem),auto(kun for margin).
Eksempler:
.mt-3: Giver et top-margin på 1rem..pb-4: Giver en bottom-padding på 1.5rem..mx-auto: Centrerer et block-element horisontalt (sætter margin-left og margin-right til auto)..mb-lg-5: Giver et bottom-margin på 3rem fra 'large' breakpoint og op.
For at løse spørgsmålet om at tilføje margin kun for mobilskærme, kan du bruge en kombination af responsive spacing-klasser. For eksempel, hvis du vil have et bottom-margin på 1rem på ekstra små skærme, men ingen margin på 'small' skærme og op, ville du bruge:
<div class="col-xs-10 col-xs-offset-1 col-sm-3 col-sm-offset-0 vcenter mb-3 mb-sm-0"> ... </div>Her vil .mb-3 anvende et bottom-margin på alle skærme, men .mb-sm-0 vil overskrive dette og sætte bottom-margin til 0 fra 'small' breakpoint og op, hvilket effektivt giver dig margin kun på mobilskærme (ekstra små).
Styring af Synlighed på Forskellige Skærme
At styre, hvornår elementer er synlige eller skjulte, er afgørende for at skabe en optimeret brugeroplevelse på tværs af forskellige enheder. Bootstrap 4 tilbyder flere måder at gøre dette på.
.sr-only – Skjult for Visuelle Brugere, Synlig for Skærmlæsere
Klassen .sr-only (screen reader only) bruges til at skjule elementer visuelt på computerskærme (og andre skærme), men holde dem tilgængelige for skærmlæsere. Dette er yderst vigtigt for web-tilgængelighed, da det gør det muligt at give kontekst til brugere med synshandicap uden at forstyrre det visuelle design.
Skjult på Mobil vs. Skjult på Desktop
Spørgsmålet om, hvorvidt der er en modsat klasse til .sr-only for at skjule ting kun på mobiler, er relevant. Bootstrap 4 bruger ikke en direkte "hide-on-mobile-only" klasse som .sr-only, men opnår den samme effekt ved at kombinere display-klasser:
- For at skjule et element på mobile skærme (ekstra små) og vise det på større skærme: Brug
.d-none .d-sm-block(ellerd-sm-flex,d-sm-inlineosv.). Dette betyder "skjul på alle skærme, men vis som block fra 'small' breakpoint og op". - For at skjule et element på desktop-skærme (f.eks. large og op) og vise det på mindre skærme: Brug
.d-lg-none(eller.d-xl-none). Dette betyder "skjul fra 'large' breakpoint og op, og vis på mindre skærme". Hvis du vil have det til at være synligt på små og medium skærme, men skjult på store og op, kan du bruge.d-block .d-lg-none.
Den gamle Bootstrap 3 .hidden-xs eller .visible-sm-up tilgange er blevet erstattet af de mere fleksible .d-{breakpoint}-{value} klasser i Bootstrap 4. Så for at tilføje en "hidden SM-up" klasse i Bootstrap 4, ville du tænke i termer af at skjule det fra 'small' og op, hvilket ville være .d-sm-none. Dette vil gøre elementet kun synligt på ekstra små skærme.

Oversigt over synlighedsstrategier:
| Ønsket Adfærd | Bootstrap 4 Klasser | Beskrivelse |
|---|---|---|
| Skjult for alle, men tilgængelig for skærmlæsere | .sr-only | Visuelt skjult, men semantisk til stede. |
| Skjult på ekstra små skærme, synlig fra 'small' og op | .d-none d-sm-block | Almindelig til desktop-specifikt indhold. |
| Skjult fra 'small' og op, kun synlig på ekstra små skærme | .d-sm-none d-block | Almindelig til mobil-specifikt indhold. |
| Skjult på 'medium' skærme og op, synlig på mindre | .d-md-none d-block | Til indhold der skal forsvinde på tablets/desktops. |
| Skjult på 'large' skærme og op, synlig på mindre | .d-lg-none d-block | Til indhold der skal forsvinde på store desktops. |
Ofte Stillede Spørgsmål (FAQ)
Hvordan skjuler jeg et element kun på mobilskærme i Bootstrap 4?
For at skjule et element kun på ekstra små skærme (typisk mobil) og vise det på 'small' skærme og op, skal du bruge en kombination af display-klasser: .d-none for at skjule det som standard på alle skærme, og derefter .d-sm-block (eller .d-sm-flex, .d-sm-inline afhængig af den ønskede display-type) for at gøre det synligt fra 'small' breakpoint og op. Eksempel: <div class="d-none d-sm-block">Dette indhold er skjult på mobil.</div>
Hvordan tilføjer jeg en margin, der kun gælder for mobilskærme i Bootstrap 4?
Du kan opnå en margin, der kun gælder for mobilskærme (ekstra små), ved at anvende en margin-klasse for alle skærme og derefter overskrive den med en nul-margin-klasse fra det 'small' breakpoint og op. For eksempel, hvis du vil have en bottom-margin på 1rem på mobil, men ingen på større skærme: <div class="mb-3 mb-sm-0">...</div>. Her vil .mb-3 give margin på alle skærme, mens .mb-sm-0 fjerner den fra 'small' skærme og op.
Hvad er formålet med .sr-only klassen i Bootstrap 4?
Klassen .sr-only (screen reader only) bruges til at skjule indhold visuelt for almindelige brugere, men gøre det tilgængeligt for skærmlæsere og andre hjælpeteknologier. Dette er afgørende for web-tilgængelighed (accessibility), da det giver dig mulighed for at inkludere vigtig information eller kontekst for brugere med synshandicap, uden at det forstyrrer det visuelle layout for seende brugere. Det er ikke beregnet til at skjule indhold responsivt baseret på skærmstørrelse.
Er der en direkte modsat klasse til .sr-only for at skjule elementer kun på mobiler i Bootstrap 4?
Nej, der er ikke en direkte modsat klasse til .sr-only, der skjuler elementer kun på mobiler. I stedet bruger Bootstrap 4 en kombination af responsive display-klasser til dette formål. For at skjule et element på ekstra små skærme og vise det på større, bruger du .d-none d-sm-block (eller d-sm-flex/d-sm-inline). Dette giver dig den nødvendige fleksibilitet til at styre synlighed på tværs af specifikke breakpoints.
Konklusion
Bootstrap 4 har revolutioneret den måde, vi bygger responsive hjemmesider på. Ved at omfavne flexbox og tilbyde et omfattende sæt af utility-klasser for display, mellemrum og synlighed, giver det udviklere uovertruffen kontrol og fleksibilitet. Du kan nu opbygge komplekse, mobilvenlige layouts hurtigere og mere effektivt end nogensinde før.
Ved at mestre disse værktøjer – fra de grundlæggende .d-block og .d-none til de mere nuancerede responsive mellemrumsklasser som .mb-3 mb-sm-0 – er du godt rustet til at skabe websteder, der ser fejlfrie ud på enhver enhed. Husk, at nøglen til succesfuld responsiv udvikling med Bootstrap ligger i at forstå og udnytte disse kraftfulde utility-klasser til fulde. Din indsats vil resultere i en bedre brugeroplevelse for alle dine besøgende, uanset deres foretrukne enhed.
Hvis du vil læse andre artikler, der ligner Bootstrap 4: Mestr Responsiv Udvikling, kan du besøge kategorien Teknologi.
