12/11/2024
I en verden, hvor mobiltelefonen er blevet vores primære adgangspunkt til internettet, er det afgørende, at din hjemmeside leverer en fejlfri og optimeret oplevelse på alle skærmstørrelser. At tilpasse indhold specifikt til mobile enheder handler ikke kun om æstetik; det handler om brugervenlighed, ydeevne og i sidste ende din hjemmesides succes. En vellykket responsiv designstrategi indebærer ofte at beslutte, hvilket indhold der skal vises, og hvilket der skal skjules, afhængigt af den enhed, brugeren anvender. Denne guide vil dykke ned i de tekniske metoder til at opnå dette, herunder brugen af HTML, CSS og populære frameworks som Bootstrap, så du kan skræddersy din mobiloplevelse ned til mindste detalje.

Uanset om du ønsker at forenkle en kompleks side for mobilbrugere, prioritere bestemt information eller simpelthen rydde op i layoutet, er evnen til at styre indholds synlighed afgørende. Vi vil gennemgå trin-for-trin-instruktioner og give praktiske kodeeksempler, der giver dig kontrol over, hvordan dit indhold præsenteres på tværs af forskellige enheder, fra små smartphones til tablets og større desktops. Lad os komme i gang med at mestre kunsten at skjule og vise indhold for at skabe en uovertruffen mobiloplevelse for dine brugere.
Vis Indhold Kun på Mobile Enheder med CSS
En af de mest almindelige behov inden for responsivt design er at have indhold, der udelukkende vises, når en bruger besøger din hjemmeside fra en mobiltelefon eller tablet. Dette kan være et særligt mobilnavigationssystem, en opfordring til handling til mobilapps, eller simpelthen en simplificeret version af et større tekststykke. Teknikken bag dette bygger på CSS Media Queries, som giver dig mulighed for at anvende forskellige stilarter baseret på enhedens egenskaber, såsom skærmbredde.
For at implementere dette skal du først markere det specifikke indhold i din HTML-kode, som du ønsker kun skal vises på mobile enheder. Dette gøres typisk ved at omslutte indholdet i en div-tag og tildele den en unik klasse, f.eks. mobileShow.
<div class="mobileShow"> <p>Dette indhold er kun synligt på mobil.</p> <img src="mobilbillede.jpg" alt="Billede kun for mobil"> </div>Herefter skal du tilføje den nødvendige CSS-kode i din hjemmesides <head> sektion eller, endnu bedre, i din eksterne CSS-fil. CSS'en vil som udgangspunkt skjule elementet for alle enheder og derefter kun vise det, når skærmbredden falder inden for et specifikt mobilt interval. Den mest almindelige måde at gøre dette på er at definere et standard display: none; for klassen og derefter overskrive dette i et medie-query for mobile skærmstørrelser.
<style type="text/css"> .mobileShow { display: none; } /* Smartphone Portræt og Landskab */ @media only screen and (min-device-width: 320px) and (max-device-width: 768px) { .mobileShow { display: block; } /* Eller inline, inline-block, flex, grid afhængigt af elementet */ } /* Tilføj eventuelt medie-queries for tablet eller andre specifikke breakpoints */ @media only screen and (min-device-width: 769px) and (max-device-width: 1024px) { /* Hvis du vil vise mobileShow på tablets, tilføj display: block; her */ } </style>I eksemplet ovenfor er .mobileShow som standard skjult. Medie-query'en @media only screen and (min-device-width: 320px) and (max-device-width: 768px) målretter sig mod de fleste smartphones i både portræt- og landskabstilstand (fra 320px bredde op til 768px, som ofte er en tablet i portrættilstand). Inden for dette interval ændres display-egenskaben til block (eller inline, inline-block, flex, grid, alt efter hvad der passer bedst til dit indhold og layout), hvilket gør indholdet synligt. Husk altid at vælge den display-værdi, der passer bedst til elementets naturlige flow i dit layout.
Skjul Indhold Kun på Mobile Enheder med CSS
Omvendt kan der være situationer, hvor du ønsker at skjule bestemt indhold, når en bruger besøger din side fra en mobil enhed. Dette er ofte relevant for store billeder, komplekse tabeller, eller tekstblokke, der fylder for meget på en lille skærm og forringer brugervenligheden. At skjule indhold på mobil kan bidrage til en hurtigere indlæsningstid og en mere strømlinet oplevelse for mobilbrugere, da de ikke behøver at scrolle gennem irrelevant information.
Processen er meget lig den for at vise indhold, men med omvendt logik. Du markerer igen det indhold, du ønsker at skjule, med en unik klasse, f.eks. mobileHide:
<div class="mobileHide"> <p>Dette indhold er skjult på mobil.</p> <table><!-- Kompleks tabel her --></table> </div>Derefter tilføjer du CSS-reglerne. Her vil du som standard vise elementet (display: block; eller inline;, afhængigt af elementets natur) og derefter skjule det specifikt inden for medie-query'en for mobile skærmstørrelser:
<style type="text/css"> .mobileHide { display: block; } /* Standard: Vis indholdet */ /* Smartphone Portræt og Landskab */ @media only screen and (min-device-width: 320px) and (max-device-width: 768px) { .mobileHide { display: none; } /* Skjul indholdet på mobil */ } </style>Denne opsætning sikrer, at alt indhold med klassen mobileHide er synligt på større skærme (desktops og tablets over 768px bredde), men forsvinder, når skærmbredden falder inden for det definerede mobilområde. Denne tilgang giver dig stor fleksibilitet til at tilpasse dit indhold specifikt til den enhed, brugeren interagerer med.
Test Dine Mobilkoder Grundigt
Efter at have implementeret CSS-reglerne og HTML-markeringen for at skjule eller vise indhold, er det absolut afgørende at teste din hjemmeside på en række forskellige mobile enheder. Selvom udviklerværktøjer i browsere (som Chrome DevTools' enhedsemulator) er fremragende til indledende test, kan intet erstatte at se din side på en faktisk smartphone eller tablet. Forskellige enheder og browsere kan fortolke CSS-regler en smule forskelligt, og du vil gerne sikre dig, at alt fungerer som forventet under virkelige forhold.
Tjek følgende under din test:
- At det indhold, der skal skjules, faktisk er usynligt på mobilen.
- At det indhold, der kun skal vises på mobilen, er synligt og korrekt formateret.
- At der ikke opstår uønskede mellemrum eller forskydninger i layoutet, når indhold vises/skjules.
- Test både portræt- og landskabstilstand på mobile enheder.
- Prøv forskellige mobiltelefonmodeller og tabletstørrelser, hvis muligt.
En lille fejl i koden, som en manglende parentes eller en stavefejl, kan have uforudsete konsekvenser for dit layout. Grundig testning minimerer risikoen for en dårlig brugeroplevelse og sikrer, at din indsats med responsivt design bærer frugt.
Bootstrap og Responsive Utility Klasser
Hvis du bruger et framework som Bootstrap, er processen med at skjule og vise indhold på forskellige enheder betydeligt forenklet. Bootstrap leveres med et sæt indbyggede responsive utility klasser, der er designet specifikt til dette formål. Disse klasser er baseret på Boostraps foruddefinerede breakpoints for forskellige skærmstørrelser (small, medium, large, extra large).
De mest relevante klasser for at styre visning er:
.d-none: Skjuler elementet på alle skærmstørrelser..d-sm-none: Skjuler elementet på skærmstørrelser small (sm) og opad..d-md-none: Skjuler elementet på skærmstørrelser medium (md) og opad..d-lg-none: Skjuler elementet på skærmstørrelser large (lg) og opad..d-xl-none: Skjuler elementet på skærmstørrelser extra large (xl) og opad..d-xxl-none: Skjuler elementet på skærmstørrelser extra extra large (xxl) og opad.
Og omvendt for at vise elementer:
.d-block: Viser elementet som et block-element på alle skærmstørrelser..d-sm-block: Viser elementet som et block-element på small (sm) og opad.- ... og så videre for
md,lg,xl,xxl.
Du kan kombinere disse klasser for at opnå den ønskede effekt. For eksempel:
- Skjul på mobil, vis på desktop: Hvis du vil skjule en
divpå små skærme (undersmbreakpoint) og vise den påsmog derover, kan du bruge:<div class="d-none d-sm-block"> <p>Dette indhold er skjult på ekstra små skærme, men synligt fra 'small' breakpoint og opad.</p> </div>Her skjuler
.d-noneelementet som standard, og.d-sm-blockoverskriver det forsmog større skærme. - Vis kun på mobil: Hvis du vil vise en
divkun på ekstra små skærme (undersmbreakpoint) og skjule den frasmog opad, kan du bruge:<div class="d-block d-sm-none"> <p>Dette indhold er kun synligt på ekstra små skærme.</p> </div>Her viser
.d-blockelementet som standard, og.d-sm-noneskjuler det forsmog større skærme.
Disse Bootstrap-klasser gør det utroligt nemt at implementere responsiv visningslogik uden at skulle skrive komplekse mediespørgsmål selv. Det er dog vigtigt at forstå Boostraps breakpoints for at bruge klasserne effektivt.

Sammenligning: Brugerdefineret CSS vs. Bootstrap Klasser
Valget mellem at skrive din egen brugerdefinerede CSS og at bruge Bootstrap's indbyggede klasser afhænger af dit projekts omfang, dine færdigheder og dine præferencer. Begge metoder har deres fordele og ulemper:
| Funktion | Brugerdefineret CSS | Bootstrap Klasser |
|---|---|---|
| Fleksibilitet | Høj (fuld kontrol over breakpoints og stilarter) | Moderat (bundet til Boostraps foruddefinerede breakpoints og stilarter) |
| Indlæringskurve | Kræver grundig forståelse af CSS og Media Queries | Kræver kendskab til Boostraps klassenavne og konventioner |
| Hastighed | Kan være hurtigere, hvis du kun inkluderer den nødvendige CSS | Nem og hurtig implementering, når Bootstrap allerede er inkluderet |
| Filstørrelse | Lille (kun nødvendig kode) | Større (inkluderer hele Bootstrap CSS, medmindre du bruger tilpassede builds) |
| Kompatibilitet | Bred (standard CSS understøttes af alle moderne browsere) | Kræver Bootstrap framework inkluderet i projektet |
| Vedligeholdelse | Kan kræve mere arbejde for større projekter med mange breakpoints | Strømlinet og standardiseret, nemmere at vedligeholde i Bootstrap-projekter |
For små projekter eller hvis du ønsker fuld kontrol over hvert eneste aspekt af dit design, kan brugerdefineret CSS være vejen frem. For større projekter, eller hvis du allerede bruger Bootstrap, vil dets utility klasser spare dig for meget tid og sikre konsistens på tværs af dit site. Husk, at for SEO er det vigtigt, at indholdet, selvom det er skjult, stadig er en del af HTML-koden. Søgemaskiner kan stadig se det skjulte indhold, hvilket er en fordel frem for at fjerne det helt.
Praktiske Overvejelser og Bedste Praksis
Når du arbejder med at skjule og vise indhold på mobile enheder, er der flere praktiske overvejelser, der kan forbedre din hjemmesides ydeevne og brugeroplevelse:
Ydeevne og Billeder
At skjule et element med display: none; i CSS forhindrer det i at blive vist visuelt, men det fjerner ikke elementet fra DOM (Document Object Model). Det betyder, at hvis du skjuler et stort billede eller en video, vil det stadig blive downloadet af browseren, selvom det ikke vises. Dette kan påvirke sidens indlæsningstid og spilde brugerens data. For at undgå dette, især med billeder, kan du overveje at bruge <picture> elementet med <source> tags og medieattributter til at levere forskellige billeder baseret på skærmstørrelsen, eller endda slet ikke at indlæse et billede, hvis det ikke er nødvendigt for en specifik enhed. Alternativt kan du bruge JavaScript til at indlæse indhold dynamisk baseret på skærmstørrelse, men dette komplicerer koden og er ofte ikke nødvendigt for simpel visning/skjulning.
Tilgængelighed (Accessibility)
Mens display: none; effektivt skjuler indhold visuelt, kan det også skjule indhold for skærmlæsere, hvilket potentielt kan påvirke tilgængeligheden for brugere med synshandicap. Hvis indholdet er kritisk, men blot skal optage mindre plads visuelt på mobil, kan alternative CSS-teknikker som position: absolute; left: -9999px; eller clip-path: inset(100%); clip: rect(1px, 1px, 1px, 1px); overflow: hidden; bruges. Disse teknikker skjuler indhold visuelt, men holder det tilgængeligt for skærmlæsere. Vurder altid, om det skjulte indhold er essentielt for alle brugere, uanset enhed.
Mobile First vs. Desktop First
Der er to primære tilgange til responsivt design: 'mobile first' og 'desktop first'.
- Mobile First: Du designer og koder primært for den mindste skærm (mobil) og bruger derefter medie-queries til at tilføje stilarter for større skærme. Dette er ofte den foretrukne metode, da det tvinger dig til at prioritere indhold og funktionalitet for den mest begrænsede plads, hvilket ofte resulterer i en mere strømlinet og effektiv brugeroplevelse. Vores eksempler med
.mobileShowog.mobileHidekan nemt tilpasses en mobile-first tilgang ved at starte meddisplay: block;for mobil og derefterdisplay: none;for desktop i medie-queries. - Desktop First: Du designer for desktop og bruger derefter medie-queries til at justere stilarter for mindre skærme. Dette kan være lettere at starte med, hvis du er vant til traditionel webudvikling, men kan føre til mere kompleks CSS, da du ofte skal 'undo' desktop-stilarter for mobil.
Uanset hvilken tilgang du vælger, er det vigtigt at være konsekvent og have en klar strategi for dine breakpoints.
Ofte Stillede Spørgsmål (FAQ)
Hvorfor er det vigtigt at tilpasse indhold til mobil?
Det er vigtigt, fordi de fleste internetbrugere i dag tilgår hjemmesider via mobile enheder. En tilpasset mobiloplevelse forbedrer brugervenligheden, reducerer indlæsningstider, mindsker afvisningsprocenten (bounce rate) og kan forbedre din hjemmesides placering i søgemaskinerne, da SEO-algoritmer favoriserer mobilvenlige sider.
Påvirker skjult indhold SEO?
Generelt set nej, ikke negativt, så længe det er en del af en legitim responsiv designstrategi. Søgemaskiner som Google forstår, at indhold kan være skjult via CSS for at forbedre brugeroplevelsen på forskellige enheder (f.eks. i faner, accordions eller for mobilresponsivitet). Det vigtigste er, at indholdet er en del af HTML-koden og ikke skjules på måder, der kan opfattes som manipulation (f.eks. at skjule nøgleord for at snyde søgemaskinerne).
Hvad er fordelene ved at bruge Bootstrap til responsivt design?
Bootstrap tilbyder en robust og standardiseret ramme for responsivt design. Fordelene inkluderer hurtig udvikling takket være foruddefinerede klasser og komponenter, konsistent design på tværs af browsere og enheder, og et stort community for support. Dets responsive utility klasser gør det især nemt at styre indholds synlighed.
Kan jeg bruge disse teknikker til at vise/skjule billeder?
Ja, du kan absolut bruge display: none; og relaterede CSS-teknikker til at skjule eller vise billeder. Dog skal du være opmærksom på, at billedet stadig downloades, selvom det er skjult. For at optimere ydeevnen med billeder på forskellige enheder, er det bedre at bruge <picture> elementet med <source> tags eller en JavaScript-løsning, der kun indlæser billeder, når de er nødvendige for den specifikke skærmstørrelse.
Hvilke skærmstørrelser betragtes som 'mobil'?
Der er ingen universel standard for 'mobil' skærmstørrelse, da enheder varierer meget. Typiske breakpoints for smartphones ligger mellem 320px og 767px i bredden. Tablets spænder ofte fra 768px til 1024px. Det er bedst at tænke i 'breakpoints' baseret på dit indholds behov, snarere end specifikke enheder. Brug mediespørgsmål til at definere, hvor dit layout skal ændre sig for at give den bedste oplevelse.
At mestre kunsten at skjule og vise indhold på mobile enheder er en fundamental færdighed for enhver, der arbejder med webudvikling i dag. Ved at anvende de teknikker, vi har gennemgået – fra grundlæggende CSS Media Queries til avancerede Bootstrap-klasser – kan du skabe en dynamisk og yderst responsiv hjemmeside, der tilpasser sig enhver skærmstørrelse. Husk altid at teste grundigt og prioritere brugervenlighed og ydeevne for at sikre, at dine besøgende får den bedst mulige oplevelse, uanset hvordan de tilgår dit indhold.
Hvis du vil læse andre artikler, der ligner Skjul og Vis Indhold: Optimer Din Mobiloplevelse, kan du besøge kategorien Teknologi.
