How to make a layout with different order for mobile and desktop view?

Mobil CSS vs. Desktop CSS: Hvad Siger Data?

19/04/2023

Rating: 4.31 (2132 votes)

I den stadigt voksende digitale verden er CSS (Cascading Style Sheets) en af de tre uundværlige søjler, der bygger websider – sammen med HTML, som definerer strukturen, og JavaScript, som specificerer adfærd og interaktioner. Men hvordan adskiller brugen af CSS sig, når vi taler om mobil vs. desktop? Er der en 'bedre' version? Lad os dykke ned i data fra Web Almanac for at få et klarere billede af de nuancer, der former internettet, som vi kender det på vores mobiltelefoner og computere.

Are there any differences between mobile browsers?
There are still too many differences between the mobile browsers. If you are testing on the native Android browser on an older Android version for example, you are limited to not use each modern CSS rule. I'm facing the same problem. You should use the following structure Thanks to you and @putvande for solving my problem! Thank you! 😀
Indholdsfortegnelse

Mobilt versus Desktop CSS: Et Dyk Ned i Dataene

Som brugere strømmer til nettet fra et utal af enheder, fra store skærme til små telefoner, er det afgørende at forstå, hvordan CSS tilpasser sig. Web Almanac 2021 giver os en dybere indsigt i dette spørgsmål, og resultaterne viser både markante forskelle og overraskende ligheder i CSS-anvendelsen mellem mobil og desktop.

Vægt og Antal Regler

Det er en udbredt opfattelse, at mobiloptimering kræver lettere og mere strømlinede ressourcer. Dataene bekræfter delvist dette: Mobil CSS er generelt en smule mindre end desktop CSS på tværs af alle percentiler. En gennemsnitlig webside indlæser omkring 70 KB CSS, men for mobil er tallet ofte marginalt lavere. Den største CSS-vægt fundet på en mobilside var for eksempel markant mindre end den tungeste desktop-side, hvilket indikerer en vis optimering for mobile kontekster. Dette er afgørende for at sikre hurtige indlæsningstider på din iPhone eller Android-enhed.

Når det kommer til antallet af stylesheets pr. side, er tallene steget en smule for begge. Dog ses der fortsat en tendens til, at mobile sider i gennemsnit har færre stylesheets end desktop-sider. På trods af dette er rekorden for det største antal eksterne stylesheets pr. side steget drastisk, hvilket understreger behovet for at kombinere filer for at forbedre ydeevnen.

Interessant nok viser data, at desktop-sider i gennemsnit har flere CSS-regler end mobile sider på tværs af næsten alle percentiler. Dette tyder på, at desktop-versioner ofte har mere komplekse eller detaljerede styling-krav, mens mobile versioner potentielt prioriterer enkelhed og funktionalitet.

Fælles Nøglefunktioner og Tendenser

På trods af forskelle i størrelse og antal regler, er der mange ligheder i de mest populære CSS-praksisser. Klasse- og ID-navne som active, fa, wp-*, content, footer og header dominerer fortsat, præcis som sidste år. Det er dog positivt at se et fald i brugen af clearfix, hvilket indikerer et skift væk fra float-baserede layouts.

Brugen af pseudo-klasser som :hover, :focus og :active er fortsat udbredt, hvilket viser vigtigheden af brugerinteraktion. Den stigende popularitet af :not() pseudo-klassen er også bemærkelsesværdig. Selvom !important stadig holder fast, anvendes det ofte på egenskaber som display, color og width. Data afslører også, at selector specificitet ofte er holdt nede, med mange der følger metoder som BEM for at opnå mere overskuelig CSS.

Farver, Enheder og Beregninger i CSS

CSS giver udviklere et væld af muligheder for at specificere værdier og enheder, hvilket er afgørende for at skabe visuelt tiltalende og funktionelle interfaces på alle enheder, fra tablets til smartphones.

Enheder og Værdier: Pixels vs. Relative Enheder

Uanset debatten om pixels, er px (pixels) stadig den mest populære længdeenhed langt (ca. 71% af alle sider). Procent (`%`) kommer på en fjern andenplads. Dog viser en dybere analyse, at brugen af pixels er faldende for mange egenskaber til fordel for relative enheder som em og rem. Dette er en vigtig tendens, da relative enheder er fundamentale for at skabe virkelig responsive designs, der automatisk tilpasser sig skærmstørrelsen.

Når det kommer til nul-længdeværdier (f.eks. en margin på 0), udelades enheden i næsten 88% af tilfældene. Dette er en god praksis, da en enhed er overflødig, når værdien er nul.

calc() funktionen, som tillader matematiske beregninger direkte i CSS, bruges mest til at indstille bredder. Subtraktion er den mest populære operator, og langt de fleste calc() udtryk bruger kun en eller to enhedstyper, hvilket indikerer relativt simple beregninger.

Farveformater og Global Anvendelse

Trods et bredt udvalg af farveformater, dominerer det klassiske hexadecimale RGB-format (f.eks. #RRGGBB eller #RGB) stadig 75% af alle farvedeklarationer. rgba(), som inkluderer en alfakanal for gennemsigtighed, er det foretrukne valg, når gennemsigtighed er nødvendig. Brugen af navngivne farver som transparent, white og black er også udbredt. Fremtiden for bredere farveskalaer som display-p3 er stadig begrænset på grund af manglende browserunderstøttelse, men viser potentiale for mere levende farver på kompatible skærme.

Billeder, Gradianter og Layoutmetoder

Billeder og layout er afgørende for en websides visuelle appel og funktionalitet, især på enheder med begrænset skærmplads.

Billeder Indlæst via CSS

PNG er det mest populære format for eksterne billeder indlæst via CSS (44%), efterfulgt af GIF, SVG og JPG. Selvom de fleste sider ikke indlæser mange billeder via CSS (medianen er 3 billeder), kan ekstreme tilfælde findes med tusindvis af billeder. Den samlede vægt af billeder indlæst via CSS er typisk lav (median 16 KB), og mobilbilleder er konsekvent lettere end desktop-billeder, hvilket er et positivt tegn på mobiloptimering. JPG-billeder er dog ofte de tungeste, sandsynligvis på grund af deres brug til store fotografier.

CSS-gradienter bruges på over 75% af alle sider, med linear-gradient som den klare favorit. Dette er en effektiv måde at skabe visuelle effekter uden at ty til billedfiler, hvilket sparer båndbredde og forbedrer indlæsningstiden.

Is mobile css better than desktop CSS?
Compared to 2020, the median total CSS weight rose about 7.9%, and the 90th percentile just under 7%, while preserving the pattern seen last year that mobile CSS is a little smaller than desktop CSS across all percentiles. Not every page was so constrained: the page with the greatest CSS weight loaded 64,628 KB.

Layout: Fra Floats til Fleksible Systemer

Webdesign har bevæget sig langt fra tabelbaserede layouts. I dag har vi et væld af kraftfulde værktøjer som Flexbox, Grid og Multicolumn. Selvom ældre metoder som position: absolute og floats stadig deklareres hyppigt, er de moderne layoutsystemer i kraftig vækst.

Adoptionen af Flexbox og Grid fortsætter med at stige. Flexbox bruges nu på over 70% af mobile og desktop-sider, mens Grid fordobler sin udbredelse hvert år og nåede 8% i 2021. Dette indikerer et klart skift mod mere fleksible og kraftfulde layout-systemer, der er ideelle til at håndtere de mange forskellige skærmstørrelser, som moderne mobiltelefoner og tablets tilbyder. Interesserne for grid-lignende layouts er tydelige, selv inden for Flexbox-anvendelse, hvor over en fjerdedel af Flexbox-layouts efterligner Grid-strukturer.

Det er også værd at bemærke, at box-sizing: border-box er blevet en standardpraksis, brugt på 90% af alle sider, ofte via den universelle selector (*). Denne tilgang forenkler boksmodellens opførsel og gør layout mere forudsigeligt.

Animationer, Overgange og Responsivt Design

Interaktive og dynamiske elementer er afgørende for brugeroplevelsen, og CSS tilbyder robuste værktøjer til dette.

Liv i Designet: Animationer og Overgange

Animationer og overgange er udbredt på websider. animation-egenskaben bruges på over 70% af siderne, og transition er endnu mere populær, anvendt på over 85% af siderne. De mest almindelige overgangseffekter er på all animerbare egenskaber, samt opacity og transform. Overgangsvarigheder er typisk korte (median på et halvt sekund), hvilket bidrager til en flydende og responsiv brugeroplevelse. Selvom der findes ekstremt lange varigheder og forsinkelser i data, er disse sandsynligvis fejl. Timing-funktioner som ease, linear og ease-in-out er mest populære.

De mest populære animationstyper er rotationer (f.eks. ikoner der spinner) efterfulgt af fade-, wobble- og bounce-effekter. Simple bevægelser og fades håndteres sandsynligvis ofte med overgange, mens animationer reserveres til mere komplekse effekter.

Medieforespørgsler: Hjørnestenen i Responsivitet

Medieforespørgsler er rygraden i responsivt webdesign, idet de tillader udviklere at anvende forskellige stilarter baseret på enhedens egenskaber. max-width og min-width er langt de mest populære forespørgsler, hvilket understreger betydningen af at tilpasse sig forskellige skærmbredder.

Bemærkelsesværdige ændringer inkluderer stigningen i prefers-reduced-motion, som tager højde for brugere, der foretrækker færre animationer af tilgængelighedsgrunde. Debuten af prefers-color-scheme (for mørk/lys tilstand) er også et tegn på, at designere i stigende grad tager brugerpræferencer i betning. De mest almindelige breakpoints er omkring 767px og 768px, hvilket passer mistænkeligt godt med iPad'ens portrættilstand, samt 600px og 1200px. Dette understreger vigtigheden af at teste design på forskellige mobile enheder.

Avancerede Teknikker og Udvikling

Udover de grundlæggende principper, er der også en række avancerede CSS-funktioner, der vinder frem.

Funktionsforespørgsler og Brugerdefinerede Egenskaber

Funktionsforespørgsler (@supports) fortsætter med at vokse i popularitet, og bruges nu på næsten halvdelen af alle sider. De bruges primært til at tjekke understøttelse af position: sticky. Interessant nok er det kun en lille del af Grid-layouts, der bruger @supports til at tjekke Grid-understøttelse, hvilket indikerer, at mange Grid-layouts implementeres uden specifikke fallbacks.

Brugerdefinerede egenskaber, ofte kendt som CSS-variabler, har oplevet en af de største stigninger i brug. Næsten 29% af mobile sider definerer brugerdefinerede egenskaber, og over 35% bruger var() funktionen. Farver er den mest populære type værdi for disse variabler, og de bruges ofte som globale konstanter defineret på rodfunktionen (:root eller html). Dette er et kraftfuldt værktøj til at opretholde konsistens og gøre CSS lettere at administrere i store projekter.

Internationalisering og Niche-Teknikker

For at understøtte sprog med forskellige læseretninger (som højre-til-venstre) tilbyder CSS egenskaber som direction. Denne bruges på 11% af alle sider, primært til venstre-til-højre (ltr) sprog. Logiske egenskaber som margin-block-start, der tilpasser sig tekstretningen, er stadig sjældne (kun 4% af siderne), men tilbyder en mere robust tilgang til internationalisering. CSS Ruby, som bruges til interlineær annotation, har en minimal udbredelse.

CSS-in-JS og Houdini: Fremtiden?

Debatten om CSS-in-JS er intens, men dens faktiske brug på nettet er stadig relativt lille (ca. 3% af siderne), dog stigende. Styled Components er det dominerende bibliotek inden for denne kategori. CSS Houdini, som tillader JavaScript at interagere tættere med CSS-rendermotoren, har endnu ikke fundet fodfæste på det åbne web, sandsynligvis på grund af langsom implementering i browsere uden for Blink-motoren. Selvom brugen er tredoblet siden 2020, er den stadig ekstremt lav.

Effektivitet, Fejl og Forbehandlere

At skrive effektiv og fejlfri CSS er afgørende for ydeevne og vedligeholdelse.

How do you write a CSS stylesheet?
You can write your CSS in much the same way: focus on the atoms first. Have a stylesheet dedicated to the basic styles for forms. Another for basic typography. Heck, I do that in smaller projects, too. Then you can create separate stylesheets for Organisms, and even for some more complex Molecules.

Optimering og Almindelige Fejl

Data viser et lille fald i gentagelse af deklarationer, hvilket kan indikere en marginal forbedring i stylesheet-effektivitet. En almindelig fejl er at placere shorthand-egenskaber (f.eks. background) efter deres tilsvarende longhand-egenskaber (f.eks. background-color), hvilket kan føre til utilsigtet overskrivning af stilarter. Dette sker oftest med background-egenskaber. De mest almindelige baggrundsegenskaber er background shorthand samt background-color, background-position og background-image. background-size har også set en hurtig og bred adoption, hvilket vidner om dens nytte.

Når det kommer til margin- og padding-egenskaber, er longhands som margin-left nogle gange mere populære end deres shorthands. For fonte er font-size og font-family de mest brugte longhands, der overgår font shorthand. Brugen af font-variant er faldende, og dens individuelle longhands bruges sjældent.

For Flexbox-relaterede egenskaber er der en vis ustabilitet i tallene sammenlignet med sidste år. På mobil bruges flex-basis mere end flex shorthand, hvilket er en uheldig tendens, da specifikationen anbefaler brug af shorthanden for at sikre fornuftige standardværdier for ikke-satte egenskaber. For Grid-egenskaber er shorthands som grid og grid-template næsten ubrugte, mens longhands som grid-template-columns og grid-template-rows er udbredt.

Hvad angår fejl, er antallet af ugenoprettelige CSS-fejl meget lavt, hvilket er positivt, selvom der sandsynligvis findes mange mindre, genoprettelige fejl. Almindelige ukendte egenskaber inkluderer malformede vendor-præfikser som webkit-transition og ikke-eksisterende egenskaber som font-smoothing.

Sass og Fremtidens CSS

CSS-forbehandlere som Sass har historisk set været en kilde til inspiration for nye CSS-funktioner. Populære Sass-funktioner inkluderer farvemodifikationer (f.eks. darken, mix) og betingede funktioner (if()). Flowkontrolstrukturer som @if, @for og @each bruges i størstedelen af Sass-stylesheets, hvilket understreger ønsket om mere dynamisk CSS-adfærd, en funktion der nu også er på vej ind i native CSS.

Regelindlejring, en anden stor fordel ved Sass, bruges af 87% af alle Sass-stylesheets. Denne funktion er også under udvikling for native CSS, hvilket viser, hvordan forbehandlere driver innovation i sproget selv.

Konklusion

Web Almanac 2021 tegner et billede af en CSS-teknologi, der er stabil, men stadig i konstant udvikling. Vi ser få drastiske skift fra år til år, men snarere en gradvis evolution, hvor visse praksisser og webfunktioner vokser, mens andre langsomt fases ud. Overordnet set er der en stærk følelse af kontinuitet.

Betyder dette, at CSS er stagneret? Absolut ikke. Nye layoutmetoder vinder terræn, og store nye funktioner udvikles, mange baseret på praksisser, der er udarbejdet i forbehandlernes verden. CSS er langt fra "løst", og de bedste praksisser er sandsynligvis endnu ikke fuldt udarbejdet. Efterhånden som udviklere får mere erfaring, vil ændringer fortsat komme til både CSS-sproget og CSS-praksissen. Disse ændringer vil sandsynligvis være gradvise og stabile snarere end pludselige og forstyrrende, hvilket er, hvad man kan forvente af en moden teknologi. Vi ser frem til at følge CSS's vækst i de kommende år, især i forhold til, hvordan det fortsat vil optimere sig for mobilbrugere og iPhone-entusiaster.

Ofte Stillede Spørgsmål (FAQ)

Er mobil CSS bedre end desktop CSS?

Ikke nødvendigvis "bedre" i form af overlegen funktionalitet, men mobil CSS er generelt lettere og mere optimeret for mobile enheders begrænsninger (båndbredde, processorkraft, skærmstørrelse). Dette gør den mere "egnet" eller "effektiv" til mobil kontekst, hvilket sikrer en hurtigere og mere flydende brugeroplevelse på din smartphone.

Hvorfor er mobil CSS generelt mindre i størrelse?

Mobil CSS er mindre, fordi udviklere ofte stræber efter at minimere filstørrelser for at forbedre indlæsningstider på mobile netværk. Dette kan involvere at udelade unødvendige stilarter, der kun er relevante for større skærme, eller at optimere billeder og animationer mere aggressivt for mobil.

Hvad er de mest populære CSS-funktioner for responsivt design?

De mest populære funktioner er medieforespørgsler, især max-width og min-width, som bruges til at tilpasse layouts baseret på skærmbredde. Derudover er Flexbox og Grid layout-systemer blevet uundværlige for at skabe fleksible og adaptive designs, der fungerer fejlfrit på alle celulares.

Bruger udviklere stadig pixels i responsivt design?

Ja, pixels (px) er stadig den mest udbredte længdeenhed. Selvom relative enheder som em og rem er stigende i popularitet, især for tekststørrelser og afstande, dominerer pixels stadig for mange designelementer. Tendensen viser dog et skift mod mere fleksible enheder.

Er CSS-in-JS bredt adopteret?

Nej, brugen af CSS-in-JS er stadig relativt lille (omkring 3% af siderne), selvom den vokser. Det er primært drevet af biblioteker som Styled Components. Det er en niche-teknik sammenlignet med traditionel CSS-implementering.

Hvad er historien bag !important i CSS?

!important er et nøgleord, der overstyrer specificiteten af andre CSS-regler. Det bruges ofte som en "nødhammer" til at løse specificitetsproblemer, men dets udbredte brug kan føre til svært vedligeholdelig og forvirrende CSS. Det anbefales generelt at bruge det sparsomt, da det bryder den normale kaskaderegel.

Sammenligning: Desktop vs. Mobil CSS (Medianværdier 2021)

EgenskabDesktop (Median)Mobil (Median)Kommentar
Total CSS-vægt71 KB66 KBMobil CSS er generelt lettere.
Antal stylesheets76Mobil har ofte færre separate filer.
Antal CSS-regler512483Desktop har typisk flere regler.
Flexbox-adoption73%71%Begge vokser kraftigt.
Grid-adoption8%8%Fordobles årligt for begge.
Anvendelse af !important2%2%Fastholder et lignende niveau.
Pixels som længdeenhed71%71%Stadig den mest populære.
Custom Properties (brug af var())35.6%35.2%Markant stigning i brug.

Hvis du vil læse andre artikler, der ligner Mobil CSS vs. Desktop CSS: Hvad Siger Data?, kan du besøge kategorien Teknologi.

Go up