🛠️

Whiz Tools

Build • Create • Innovate

PX til REM til EM-konverter: CSS-enhetskalkulator

Konverter mellom piksler (PX), rot em (REM) og em (EM) CSS-enheter med denne enkle kalkulatoren. Nødvendig for responsiv webdesign og utvikling.

PX, REM og EM Enhetskonverterer

Konverter mellom piksler (PX), rot em (REM) og em (EM) enheter. Skriv inn en verdi i et hvilket som helst felt for å se de tilsvarende verdiene i de andre enhetene.

px
px
Enter a value in px units
px
Enter a value in rem units
rem
Enter a value in em units
em
Visualisering ikke tilgjengelig for negative eller nullverdier

Konverteringsformler

  • PX til REM: verdi i px ÷ rot fontstørrelse
  • PX til EM: verdi i px ÷ fontstørrelse for overordnet
  • REM til PX: verdi i rem × rot fontstørrelse
  • EM til PX: verdi i em × fontstørrelse for overordnet
📚

Dokumentasjon

PX, REM og EM Enhetskonverterer: Essensielle CSS-enheter forklart

Introduksjon til CSS-enhetskonvertering

Å forstå og konvertere mellom CSS-enheter er essensielt for responsiv webdesign og utvikling. PX (piksel), REM (root em) og EM-enheter er grunnleggende byggeklosser som bestemmer hvordan elementer er størrelsesbestemt og plassert på tvers av forskjellige enheter og skjermstørrelser. Dette omfattende enhetskonverteringsverktøyet lar deg enkelt oversette verdier mellom disse tre kritiske CSS-enhetene, noe som hjelper deg med å lage mer fleksible og vedlikeholdbare webopplevelser.

Piksler (PX) er faste enheter som gir presis kontroll, men mangler skalerbarhet, mens REM-enheter skalerer i forhold til rot-elementets skriftstørrelse, og EM-enheter skalerer i forhold til foreldreelementets skriftstørrelse. Å konvertere mellom disse enhetene kan være utfordrende, spesielt når man arbeider med komplekse design eller når man støtter tilgjengelighetsfunksjoner som tekststørrelsesjustering. Vår PX, REM og EM konverterer forenkler denne prosessen, slik at du kan fokusere på å lage vakre, responsive design.

Forstå CSS-enheter: PX, REM og EM

Hva er piksler (PX)?

Piksler (PX) er den mest grunnleggende og vanligste CSS-enheten. En piksel er et enkelt punkt i et digitalt bildegrid og representerer det minste kontrollerbare elementet på en skjerm. I CSS gir piksler en fast størrelse som forblir konsekvent uavhengig av andre stilfaktorer.

1.element {
2  width: 200px;
3  font-size: 16px;
4  margin: 10px;
5}
6

Nøkkelfunksjoner ved piksler:

  • Faste enheter som ikke skalerer automatisk
  • Gir presis kontroll over elementdimensjoner
  • Enkle å forstå og visualisere
  • Mindre ideelle for responsiv design og tilgjengelighet

Hva er REM-enheter?

REM (root em) enheter er relative enheter som skalerer basert på rot-elementets skriftstørrelse (typisk <html>-elementet). Som standard setter de fleste nettlesere rot-skriftstørrelsen til 16px, noe som gjør 1rem lik 16px med mindre det er eksplisitt endret.

1html {
2  font-size: 16px; /* Standard i de fleste nettlesere */
3}
4
5.element {
6  width: 12.5rem; /* Tilsvarer 200px med standard rot-skriftstørrelse */
7  font-size: 1rem; /* Tilsvarer 16px */
8  margin: 0.625rem; /* Tilsvarer 10px */
9}
10

Nøkkelfunksjoner ved REM-enheter:

  • Skalerer i forhold til rot-elementets skriftstørrelse
  • Opprettholder konsekvente proporsjoner gjennom dokumentet
  • Støtter bedre tilgjengelighet gjennom globale justeringer av skriftstørrelse
  • Ideell for responsive oppsett og typografi

Hva er EM-enheter?

EM-enheter er relative enheter som skalerer basert på foreldreelementets skriftstørrelse. Hvis ingen skriftstørrelse er spesifisert for forelderen, vil EM-er referere til den arvede skriftstørrelsen.

1.parent {
2  font-size: 20px;
3}
4
5.child {
6  font-size: 0.8em; /* Tilsvarer 16px (20px × 0.8) */
7  margin: 0.5em; /* Tilsvarer 8px (16px × 0.5) */
8}
9

Nøkkelfunksjoner ved EM-enheter:

  • Skalerer i forhold til foreldreelementets skriftstørrelse
  • Skaper en kaskadeeffekt når de er nestet
  • Nyttige for å lage proporsjonale design innen komponenter
  • Kan bli komplekse å håndtere med dypt nestede elementer

Konverteringsformler og beregninger

Å forstå de matematiske forholdene mellom PX, REM og EM-enheter er avgjørende for nøyaktige konverteringer. Her er formlene som brukes i vår konverterer:

PX til REM-konvertering

For å konvertere piksler til REM-enheter, del pikselverdien med rot-skriftstørrelsen:

REM=PXrootFontSizeREM = \frac{PX}{rootFontSize}

For eksempel, med standard rot-skriftstørrelse på 16px:

  • 16px = 1rem
  • 24px = 1.5rem
  • 8px = 0.5rem

PX til EM-konvertering

For å konvertere piksler til EM-enheter, del pikselverdien med foreldreelementets skriftstørrelse:

EM=PXparentFontSizeEM = \frac{PX}{parentFontSize}

For eksempel, med en foreldreskriftstørrelse på 16px:

  • 16px = 1em
  • 24px = 1.5em
  • 8px = 0.5em

REM til PX-konvertering

For å konvertere REM-enheter til piksler, multipliser REM-verdien med rot-skriftstørrelsen:

PX=REM×rootFontSizePX = REM \times rootFontSize

For eksempel, med standard rot-skriftstørrelse på 16px:

  • 1rem = 16px
  • 1.5rem = 24px
  • 0.5rem = 8px

EM til PX-konvertering

For å konvertere EM-enheter til piksler, multipliser EM-verdien med foreldreelementets skriftstørrelse:

PX=EM×parentFontSizePX = EM \times parentFontSize

For eksempel, med en foreldreskriftstørrelse på 16px:

  • 1em = 16px
  • 1.5em = 24px
  • 0.5em = 8px

REM til EM-konvertering

For å konvertere REM-enheter til EM-enheter, må du ta hensyn til både rot-skriftstørrelsen og foreldreelementets skriftstørrelse:

EM=REM×rootFontSizeparentFontSizeEM = REM \times \frac{rootFontSize}{parentFontSize}

Hvis både rot- og foreldreskriftstørrelsene er like (f.eks. 16px), så er 1rem = 1em.

EM til REM-konvertering

For å konvertere EM-enheter til REM-enheter, bruk følgende formel:

REM=EM×parentFontSizerootFontSizeREM = EM \times \frac{parentFontSize}{rootFontSize}

Igjen, hvis begge skriftstørrelsene er like, så er 1em = 1rem.

Hvordan bruke PX, REM og EM Enhetskonvertereren

Vårt enhetskonverteringsverktøy gjør det enkelt å oversette verdier mellom PX, REM og EM-enheter. Her er en trinnvis veiledning for å bruke konvertereren effektivt:

Grunnleggende bruk

  1. Skriv inn en verdi i hvilket som helst inndatafelt (PX, REM eller EM)
  2. Konvertereren vil automatisk beregne og vise de tilsvarende verdiene i de to andre enhetene
  3. Juster rot-skriftstørrelsen (standard: 16px) for å se hvordan det påvirker REM-konverteringene
  4. Juster foreldreskriftstørrelsen (standard: 16px) for å se hvordan det påvirker EM-konverteringene
  5. Bruk kopier-knappen ved siden av hvert felt for å kopiere verdien til utklippstavlen

Avanserte funksjoner

  • Visuell sammenligning: Verktøyet gir en visuell representasjon av de relative størrelsene til hver enhet
  • Presisjonskontroll: Alle beregninger opprettholder 4 desimaler for nøyaktighet
  • Negative verdier: Konvertereren støtter negative verdier, som er gyldige i CSS for egenskaper som marginer
  • Sanntidsoppdateringer: Enhver endring i inndataverdier eller skriftstørrelsesinnstillinger oppdaterer alle beregninger umiddelbart

Tips for nøyaktige konverteringer

  • For de mest nøyaktige REM-konverteringene, sett rot-skriftstørrelsen til å matche prosjektets <html>-skriftstørrelse
  • For nøyaktige EM-konverteringer, sett foreldreskriftstørrelsen til å matche skriftstørrelsen til foreldreelementet du arbeider med
  • Husk at nettleserens standard skriftstørrelser kan variere, selv om 16px er den vanligste standarden

Praktiske bruksområder for CSS-enhetskonvertering

Å forstå når man skal bruke hver CSS-enhet og hvordan man konverterer mellom dem er avgjørende for effektiv webutvikling. Her er noen praktiske applikasjoner og scenarier der vår enhetskonverterer viser seg å være uvurderlig:

Responsiv webdesign

Å konvertere mellom enheter er essensielt for å lage virkelig responsive design:

  • Mobil-først tilnærming: Start med et basisdesign i piksler, og konverter deretter til relative enheter for skalerbarhet
  • Breakpoint-håndtering: Bruk REM-er for konsekvent avstand på tvers av forskjellige visningsstørrelser
  • Komponentskala: Sørg for at UI-elementer opprettholder proporsjonale forhold når visningsområdet endres
1/* Konverter faste pikselverdier til responsive REM-enheter */
2.container {
3  /* Fra: padding: 20px; */
4  padding: 1.25rem; /* 20px ÷ 16px = 1.25rem */
5  
6  /* Fra: margin-bottom: 32px; */
7  margin-bottom: 2rem; /* 32px ÷ 16px = 2rem */
8}
9

Tilgjengelighetsforbedringer

Å bruke relative enheter forbedrer tilgjengeligheten ved å respektere brukerpreferanser:

  • Tekstjustering: Når brukere endrer nettleserens skriftstørrelse, tilpasser REM-baserte oppsett seg passende
  • Zoom-funksjonalitet: Relative enheter sikrer at design forblir proporsjonale når brukere zoomer inn
  • Respekt for brukerpreferanser: Oppsett basert på relative enheter hedrer brukerens standard skriftstørrelseinnstillinger

Komponentbaserte designsystemer

Moderne designsystemer drar nytte av gjennomtenkt enhetsbruk:

  • Konsistente komponenter: Bruk REM for global avstand og størrelseskonsistens
  • Selvstendige moduler: Bruk EM for elementer som skal skaleres med foreldreaktivene
  • Designtokens: Konverter mellom enheter når du implementerer designtokens på tvers av forskjellige kontekster

Typografisystemer

Å lage harmonisk typografi krever nøye valg av enheter:

  • Typografisk skala: Definer en typografisk skala i REM-er for konsekvent progresjon
  • Linjehøyder: Bruk enhetsløse verdier eller EM-er for proporsjonale linjehøyder
  • Responsiv tekst: Juster skriftstørrelser på tvers av bruddpunkter mens du opprettholder proporsjoner
1/* Typografisk system som bruker REM-enheter */
2h1 { font-size: 2.5rem; }    /* 40px */
3h2 { font-size: 2rem; }      /* 32px */
4h3 { font-size: 1.5rem; }    /* 24px */
5h4 { font-size: 1.25rem; }   /* 20px */
6p { font-size: 1rem; }       /* 16px */
7small { font-size: 0.875rem; } /* 14px */
8

Piksel-perfekte design

Når man implementerer design fra verktøy som Figma eller Photoshop:

  • Designoverlevering: Konverter pikselverdier fra designfiler til REM/EM for utvikling
  • Opprettholde presisjon: Sørg for nøyaktig avstand og størrelse mens du bruker relative enheter
  • Integrering av designsystemer: Oversett pikselbaserte designtokens til relative enheter

Alternative CSS-enheter

Selv om PX, REM og EM er de vanligste enhetene, er det alternativer verdt å vurdere:

Visningsenheter (VW, VH)

  • VW (visningsbredde): 1vw tilsvarer 1% av visningsbredden
  • VH (visningshøyde): 1vh tilsvarer 1% av visningshøyden
  • Bruksområde: Lage elementer som skalerer direkte med visningsstørrelsen

Prosent (%)

  • Relativ til foreldreelementets dimensjoner
  • Bruksområde: Flytende oppsett og responsive bredder

CH-enheter

  • Basert på bredden av "0"-tegnet
  • Bruksområde: Lage containere med et spesifikt tegnantall per linje

EX-enheter

  • Basert på høyden av det lille "x"-tegnet
  • Bruksområde: Finjustering av typografi, spesielt for x-høydejusteringer

Utviklingen av CSS-enheter i webutvikling

Historien til CSS-enheter gjenspeiler den bredere utviklingen av webdesign, fra statiske oppsett til dagens responsive, tilgjengelige tilnærminger.

Tidlig webdesign (1990-tallet)

I de tidlige dagene av CSS, var piksler dominerende. Webdesignere laget faste breddeoppsett, typisk 640px eller 800px brede for å imøtekomme vanlige skjermoppløsninger. Tilgjengelighet og enhetsmangfold var ikke store bekymringer, og pixel-perfekt kontroll var hovedmålet.

Fremveksten av flytende oppsett (Tidlig 2000-tall)

Etter hvert som skjermstørrelser ble mer varierte, fikk prosentbaserte oppsett popularitet. Designere begynte å lage mer fleksible design, selv om typografi ofte forble i piksel-enheter. Denne perioden så introduksjonen av EM-enheter i CSS, selv om bruken var begrenset på grunn av kompleksiteten ved å håndtere kaskader av skriftstørrelser.

Mobilrevolusjonen (2007-2010)

Introduksjonen av iPhone i 2007 forvandlet webdesign. Plutselig måtte nettsteder fungere på skjermer så små som 320px brede. Dette katalyserte interessen for responsive designteknikker og relative enheter. Begrensningene ved EM-enheter (spesielt kaskadeeffekten) ble mer åpenbare etter hvert som designene ble mer komplekse.

Responsiv webdesign-epoken (2010-2015)

Ethan Marcottes innflytelsesrike artikkel om responsiv webdesign i 2010 endret hvordan utviklere nærmet seg CSS-enheter. REM-enheten ble introdusert i CSS3, og tilbød fordelene med relativ skalering uten de kaskadekomplikasjonene EM-enheter hadde. Nettleserstøtten for REM-enheter vokste jevnt i løpet av denne perioden.

Moderne CSS-tilnærminger (2015-nåtid)

Dagens webutvikling omfavner en blanding av enheter for forskjellige formål:

  • REM-enheter for global konsistens og tilgjengelighet
  • EM-enheter for komponentbasert skalering
  • Piksler for kanter og presise detaljer
  • Visningsenheter for virkelig responsive elementer
  • CSS calc()-funksjon for å kombinere forskjellige enhetstyper

Denne utviklingen gjenspeiler webens overgang fra et dokumentbasert medium til en kompleks applikasjonsplattform som må fungere på tvers av utallige enheter og kontekster.

Kodeeksempler for enhetskonvertering

JavaScript Enhetskonverteringsfunksjoner

1// Konverter mellom PX, REM og EM-enheter
2const pxToRem = (px, rootFontSize = 16) => {
3  return px / rootFontSize;
4};
5
6const pxToEm = (px, parentFontSize = 16) => {
7  return px / parentFontSize;
8};
9
10const remToPx = (rem, rootFontSize = 16) => {
11  return rem * rootFontSize;
12};
13
14const emToPx = (em, parentFontSize = 16) => {
15  return em * parentFontSize;
16};
17
18const remToEm = (rem, rootFontSize = 16, parentFontSize = 16) => {
19  return rem * (rootFontSize / parentFontSize);
20};
21
22const emToRem = (em, parentFontSize = 16, rootFontSize = 16) => {
23  return em * (parentFontSize / rootFontSize);
24};
25
26// Eksempel på bruk
27console.log(pxToRem(24));  // 1.5
28console.log(remToPx(1.5)); // 24
29console.log(pxToEm(24, 24)); // 1
30console.log(remToEm(2, 16, 32)); // 1
31

CSS-tilpassede egenskaper for enhetskonvertering

1:root {
2  /* Grunnleggende skriftstørrelser */
3  --root-font-size: 16px;
4  --base-font-size: var(--root-font-size);
5  
6  /* Vanlige pikselverdier konvertert til REM */
7  --space-4px: 0.25rem;
8  --space-8px: 0.5rem;
9  --space-16px: 1rem;
10  --space-24px: 1.5rem;
11  --space-32px: 2rem;
12  --space-48px: 3rem;
13  
14  /* Typografisk skala */
15  --text-xs: 0.75rem;    /* 12px */
16  --text-sm: 0.875rem;   /* 14px */
17  --text-base: 1rem;     /* 16px */
18  --text-lg: 1.125rem;   /* 18px */
19  --text-xl: 1.25rem;    /* 20px */
20  --text-2xl: 1.5rem;    /* 24px */
21}
22
23/* Bruks eksempel */
24.card {
25  padding: var(--space-16px);
26  margin-bottom: var(--space-24px);
27  font-size: var(--text-base);
28}
29
30.card-title {
31  font-size: var(--text-xl);
32  margin-bottom: var(--space-8px);
33}
34

SCSS-mikser for enhetskonvertering

1// SCSS-funksjoner for enhetskonvertering
2@function px-to-rem($px, $root-font-size: 16) {
3  @return ($px / $root-font-size) * 1rem;
4}
5
6@function px-to-em($px, $parent-font-size: 16) {
7  @return ($px / $parent-font-size) * 1em;
8}
9
10@function rem-to-px($rem, $root-font-size: 16) {
11  @return $rem * $root-font-size * 1px;
12}
13
14// Bruks eksempel
15.element {
16  padding: px-to-rem(20);
17  margin: px-to-rem(32);
18  font-size: px-to-rem(18);
19  
20  .nested {
21    // Bruke foreldreskriftstørrelse (18px) for em-konvertering
22    padding: px-to-em(16, 18);
23    margin-bottom: px-to-em(24, 18);
24  }
25}
26

Python Enhetskonverterer

1def px_to_rem(px, root_font_size=16):
2    """Konverter piksler til REM-enheter"""
3    return px / root_font_size
4
5def rem_to_px(rem, root_font_size=16):
6    """Konverter REM-enheter til piksler"""
7    return rem * root_font_size
8
9def px_to_em(px, parent_font_size=16):
10    """Konverter piksler til EM-enheter"""
11    return px / parent_font_size
12
13def em_to_px(em, parent_font_size=16):
14    """Konverter EM-enheter til piksler"""
15    return em * parent_font_size
16
17# Eksempel på bruk
18print(f"16px = {px_to_rem(16)}rem")  # 16px = 1.0rem
19print(f"2rem = {rem_to_px(2)}px")    # 2rem = 32px
20print(f"24px = {px_to_em(24, 16)}em")  # 24px = 1.5em
21

Vanlige spørsmål

Hva er forskjellen mellom REM og EM-enheter?

REM (root em) enheter er relative til rot-elementets skriftstørrelse (typisk <html>-elementet), mens EM-enheter er relative til foreldreelementets skriftstørrelse. Denne nøkkelforskjellen betyr at REM-enheter opprettholder konsekvent størrelsesforhold gjennom dokumentet uavhengig av nesting, mens EM-enheter kan skape en kaskadeeffekt når elementer er nestet.

Hvilken CSS-enhet er best for responsiv design?

Det finnes ingen enkelt "beste" enhet for alle situasjoner. En kombinasjon av enheter er vanligvis mest effektiv:

  • REM-enheter for typografi og konsekvent avstand
  • EM-enheter for komponent-spesifikk skalering
  • Prosent eller visningsenheter for layoutbredder
  • Piksler for kanter og små detaljer

Den ideelle tilnærmingen er å bruke hver enhet for det den gjør best innenfor et sammenhengende system.

Hvorfor har nettlesere standard 16px skriftstørrelse?

Den 16px standarden ble etablert som en lesbarhetsstandard som fungerer godt på tvers av enheter. Forskning har vist at tekst rundt 16px er optimal for lesing på skjermer på typiske visningsavstander. Denne standarden gir også et godt utgangspunkt for tilgjengelighet, og sikrer at teksten ikke er for liten for de fleste brukere.

Kan jeg bruke negative verdier med disse enhetene?

Ja, CSS støtter negative verdier for mange egenskaper ved å bruke hvilken som helst enhetstype. Negative marginer, transformasjoner og posisjoner er vanlige bruksområder for negative verdier. Vår konverterer håndterer negative verdier korrekt for alle enhetstyper.

Hvordan fungerer EM-enheter med nestede elementer?

EM-enheter kaskaderer når elementer er nestet. For eksempel:

1.parent {
2  font-size: 16px;
3}
4.child {
5  font-size: 1.5em; /* 24px (16px × 1.5) */
6}
7.grandchild {
8  font-size: 1.5em; /* 36px (24px × 1.5) */
9}
10

Denne kaskadeeffekten kan være nyttig for å lage proporsjonale design, men krever nøye håndtering for å unngå utilsiktet skalering.

Hvordan håndterer nettlesere subpikselgjengivelse med relative enheter?

Nettlesere håndterer subpikselverdier forskjellig. Noen nettlesere runder til nærmeste piksel, mens andre støtter subpikselgjengivelse for jevnere skalering. Dette kan av og til føre til små inkonsekvenser på tvers av nettlesere, spesielt med små REM/EM-verdier eller når man bruker transformasjoner. For de fleste bruksområder er disse forskjellene ubetydelige.

Hva er ytelseseffekten av å bruke forskjellige CSS-enheter?

Det er ingen betydelig ytelsesforskjell mellom å bruke piksler, REM eller EM-enheter i moderne nettlesere. Valget av enheter bør baseres på designkrav, responsiv atferd og tilgjengelighetsbehov snarere enn ytelseshensyn.

Referanser og videre lesning

  1. "CSS Values and Units Module Level 3." W3C Recommendation. https://www.w3.org/TR/css-values-3/

  2. Marcotte, Ethan. "Responsive Web Design." A List Apart, 25. mai 2010. https://alistapart.com/article/responsive-web-design/

  3. Rutter, Richard. "The Elements of Typographic Style Applied to the Web." http://webtypography.net/

  4. "CSS Units." MDN Web Docs. https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units

  5. "CSS Pixels vs. Physical Pixels." Stack Overflow Documentation. https://stackoverflow.com/questions/8785643/what-exactly-is-the-difference-between-css-pixels-and-device-pixels

  6. Coyier, Chris. "The Lengths of CSS." CSS-Tricks. https://css-tricks.com/the-lengths-of-css/

  7. "Using CSS custom properties (variables)." MDN Web Docs. https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties

  8. "Understanding and Using rem Units in CSS." SitePoint. https://www.sitepoint.com/understanding-and-using-rem-units-in-css/

Prøv vår enhetskonverterer i dag

Slutt å slite med manuelle CSS-enhetskonverteringer og la vår PX, REM og EM Enhetskonverterer gjøre jobben for deg. Enten du bygger et responsivt nettsted, lager et designsystem, eller bare lærer om CSS-enheter, vil dette verktøyet spare deg for tid og sikre nøyaktighet. Skriv inn verdiene dine nå for å se hvor enkelt enhetskonvertering kan være!