Kategorier
Guide till CSS-enheter

Hur man konverterar pixlar till rem i CSS (Enkel guide)

Bemästra konvertering från CSS-pixlar till rem för responsiv webbdesign. Lär dig den enkla matematiken, 62,5%-tricket, och använd vår smidiga lathund.

Hur man konverterar pixlar till rem i CSS (Enkel guide)

Har du någonsin byggt en snygg webbplats med pixelprecision, bara för att inse att den ser helt trasig ut så fort en användare ökar webbläsarens standardteckenstorlek? Ja, jag också. Det är oftast i det ögonblicket vi utvecklare lär oss den hårda vägen att hårdkodning av pixlar (px) för precis allt är ett recept för en tillgänglighetsmässig mardröm.

Säg hej till enheten rem.

Om du är van vid att tänka strikt i pixlar kan det kännas lite som att försöka lära sig ett främmande språk i farten att byta till rem. Men oroa dig inte – när polletten väl faller på plats gör det faktiskt ditt liv som utvecklare mycket enklare.

Låt oss gå igenom hur man konverterar px till rem utan att behöva en examen i matematik.

Varför pratar vi ens om rem?

Tänk på pixlar som ett absolut mått. Tänk dig att du bygger ett hus och säger till din entreprenör: ”Gör det här fönstret exakt 40 tum brett.” Det fönstret kommer att vara 40 tum brett oavsett vad som händer med resten av huset. Det är en pixel.

Nu, tänk på rem som ett relativt mått. Istället för att använda fasta tum säger du till entreprenören: ”Gör det här fönstret exakt 3 gånger så brett som våra standardtegelstenar i grunden.” Om du bestämmer dig för att använda större tegelstenar senare, skalas fönstret automatiskt upp proportionellt.

I CSS står rem för ”root em”. Det betyder helt enkelt ”relativt till rot-HTML-elementets teckenstorlek”. Eftersom användare kan (och gör det) gå in i sina webbläsarinställningar för att ändra standardteckenstorleken för läsbarhet, innebär användning av rem att hela din webbplats sömlöst skalas för att matcha deras preferenser. Din layout kommer inte att gå sönder, och din text kommer att förbli perfekt läsbar. Win-win.

Standardmatematiken: Hur man konverterar

Här är den gyllene regeln du behöver memorera: Som standard ställer nästan alla moderna webbläsare in sin rotteckenstorlek till 16px.

Detta innebär att om du inte specifikt skriver över det i din CSS, så motsvarar 1rem exakt 16px.

För att konvertera ett pixelvärde du har i huvudet till ett rem-värde, använder du bara denna enkla formel:

Mål-pixelvärde ÷ Bas-pixelvärde (16) = rem-värde

Låt oss säga att du tittar på en Figma-design och behöver en rubrik som ska vara 24px. Du delar helt enkelt 24 med 16.

  • 24 ÷ 16 = 1,5

  • Så i din CSS skriver du: font-size: 1.5rem;

Behöver du en mindre bildtext som är 14px?

  • 14 ÷ 16 = 0,875

  • Så du skriver: font-size: 0.875rem;

Lyssna, jag fattar. Att hålla på med division i huvudet när man är djupt inne i kodandet är en riktig glädjedödare. Om du hellre skippar den mentala gymnastiken helt, rekommenderar jag starkt att ha ett verktyg som denna Pixlar till rem omvandlare öppen i en flik. Du matar bara in dina pixlar, så gör den grovjobbet åt dig direkt.

”62,5 %-tricket” (Gör matematiken löjligt enkel)

Om du inte vill använda en miniräknare för varje enskild rad CSS, har utvecklare kommit på ett smart litet knep som kallas 62,5 %-tricket.

Så här fungerar det. Du ställer in rotteckenstorleken för html till 62.5% längst upp i din stilmall:

html {
  font-size: 62.5%;
}

Varför 62,5 %? För att 62,5 % av standardvärdet 16px är exakt 10px.

Genom att göra detta har du i princip definierat om din ”standardtegelsten” till att vara exakt 10px. Plötsligt blir matematiken löjligt enkel. Istället för att dela med 16, delar du bara med 10 (vilket bara innebär att flytta kommatecknet ett steg till vänster).

  • Vill du ha 24px? Skriv bara 2.4rem.

  • Vill du ha 14px? Skriv bara 1.4rem.

  • Vill du ha 36px? Skriv bara 3.6rem.

Det känns som magi. Kom bara ihåg att om du hoppar in i ett befintligt projekt där rotteckenstorleken inte har rörts, måste du fortfarande förlita dig på den vanliga dela-med-16-matematiken.

Den ultimata lathunden för px till rem

Oavsett om du delar med 16 manuellt eller bara behöver en snabbguide att ha på din andra skärm, här är en lathund för de vanligaste teckenstorlekarna (förutsatt standardinställningen i webbläsaren på 16px):

Vad du vill ha (px)Vad du skriver (rem)Matematiken som används
10px0.625rem10 ÷ 16
12px0.75rem12 ÷ 16
14px0.875rem14 ÷ 16
16px1rem16 ÷ 16 (Basstorlek)
18px1.125rem18 ÷ 16
20px1.25rem20 ÷ 16
24px1.5rem24 ÷ 16
32px2rem32 ÷ 16
36px2.25rem36 ÷ 16
48px3rem48 ÷ 16
64px4rem64 ÷ 16

Ett sista tips innan du går

Du måste inte använda rem för precis allt. Det är fantastiskt för teckenstorlekar, marginaler, utfyllnad (padding) och layoutbredder. Men för små dekorativa saker som en tunn 1px ram (border: 1px solid black), är det helt okej – och vanligtvis att föredra – att bara hålla sig till standardpixlar!

Gå ut och koda ansvarsfullt. Dina användare (och deras syn) kommer att tacka dig.

Leave feedback about this

  • Rating