Convertor pixeli (px) în rem

Ultima verificare a conținutului:

24 px înseamnă 1,5 rem la baza implicită de 16 px, iar 14 px înseamnă 0,875 rem. Calculul este o singură împărțire: pixelii împărțiți la mărimea de bază a fontului. Introduceți dimensiunea din machetă în primul câmp, iar dacă pagina are altă bază, scrieți-o în câmpul Font-size de bază.

px
rem
în

Ce este rem și de ce se scriu dimensiunile în pixeli ca rem?

Machetele dau dimensiunile în pixeli: titlul de 28 px, distanța dintre două secțiuni de 32 px. Pixelul din CSS este o unitate fixă, pe care standardul o definește ca 1/96 dintr-un inch[1]. De aceea convertorul px în inchi numără, la rezoluția lui implicită, 96 de pixeli într-un inch. rem este o unitate relativă: un rem este egal cu mărimea calculată a fontului elementului html, elementul rădăcină al paginii[1].

Pentru că rem se calculează mereu din elementul rădăcină, nu se înmulțește în elementele imbricate, cum face em, pe care îl transformă convertorul em în px. Ca să transformați orice dimensiune din pixeli în rem, vă ajunge mărimea fontului elementului html. După conversie, dimensiunea urmează setarea cititorului: un titlu de 24 px rămâne 24 px cu setarea implicită și devine 30 px la cititorul care a ales Mare în Chrome sau Dimensiune mare a fontului în Edge.

Cod CSS cu regula .hero cu mărimea fontului 60px și o regulă de titluri cu 220px
Ambele mărimi de font din fotografie sunt scrise în pixeli: 60px în regula .hero și 220px în regula care reunește clasele .heading și .sub-heading. La baza de 16 px prima devine 3.75rem, a doua 13.75rem, iar apoi amândouă cresc odată cu setarea cititorului. Fotografie: Ferenc Almasi, Unsplash.

Câți rem au 24 px?

24 px înseamnă 1,5 rem la baza implicită de 16 px. Formula este o singură împărțire: rem = px ÷ mărimea de bază a fontului. Fiecare 16 px fac 1 rem, iar un pixel înseamnă 0,0625 rem. Astfel, 8 px înseamnă 0,5 rem. Iar 32 px înseamnă 2 rem.

Dacă foaia de stil folosește altă bază, împărțiți la aceea. Cu tehnica 62,5 %, baza devine 10 px, iar 24 px înseamnă 2,4 rem. La o bază de 20 px, aceiași 24 px înseamnă 1,2 rem. Scrieți baza în al treilea câmp, iar convertorul vă dă valoarea pe care o treceți în foaia de stil.

Unele dimensiuni nu se împart exact la 16, de aceea rezultatul apare cu cel mult patru zecimale. De exemplu, 13 px înseamnă 0,8125 rem, iar CSS acceptă acest număr așa cum este. Câmpul rezultatului arată virgulă, dar butonul Copiați rezultatul copiază 0.8125 cu punct, așa că îl puteți lipi direct și scrie rem după el.

Cu ce formulă se transformă pixelii în rem?

Formula este rem = px ÷ font-size, unde font-size este mărimea fontului elementului html. Luați un titlu de 28 px din machetă. La baza de 16 px rezultă 28 ÷ 16 = 1,75, așa că în foaia de stil scrieți font-size: 1.75rem.

Dimensiunile care se împart exact la 4 dau o valoare cu cel mult două zecimale: de exemplu, 12 px înseamnă 0,75 rem. Celelalte dimensiuni pare dau trei zecimale, ca 14 px, adică 0,875 rem, iar cele impare dau patru, ca 15 px, adică 0,9375 rem. O dimensiune ca 13,5 px ar avea și a cincea zecimală, așa că rezultatul se rotunjește la patru zecimale: 0,8438 rem.

Pentru direcția inversă folosiți convertorul rem în px. Dacă aveți nevoie de o valoare relativă la mărimea fontului elementului părinte, transformați dimensiunea cu convertorul px în em. Dacă dimensiunea din fișier este în puncte (pt), transformați-o întâi în pixeli cu convertorul pt în px.

Cod CSS comprimat cu dimensiuni în pixeli precum font-size:13px și margin:16px 0 20px
Aceasta este o foaie de stil comprimată, în care toate dimensiunile vizibile sunt scrise în pixeli. La baza de 16 px, font-size:13px devine 0.8125rem. Iar margin:16px 0 20px devine 1rem 0 1.25rem. Fotografie: Rahul Mishra, Unsplash.

Tabel de conversie px în rem la trei mărimi de bază

Tabelul cuprinde dimensiuni între 1 și 400 px. Prima coloană arată baza implicită de 16 px, a doua tehnica 62,5 %, care face baza 10 px, iar a treia baza de 20 px a cititorului care a ales Mare în Chrome. Rândurile evidențiate sunt 16 px și 24 px.
Dimensiunea în pixelirem la baza de 16 pxrem la baza de 10 pxrem la baza de 20 px
1 px0,0625 rem0,1 rem0,05 rem
2 px0,125 rem0,2 rem0,1 rem
4 px0,25 rem0,4 rem0,2 rem
6 px0,375 rem0,6 rem0,3 rem
8 px0,5 rem0,8 rem0,4 rem
10 px0,625 rem1 rem0,5 rem
11 px0,6875 rem1,1 rem0,55 rem
12 px0,75 rem1,2 rem0,6 rem
13 px0,8125 rem1,3 rem0,65 rem
14 px0,875 rem1,4 rem0,7 rem
15 px0,9375 rem1,5 rem0,75 rem
16 px1 rem1,6 rem0,8 rem
17 px1,0625 rem1,7 rem0,85 rem
18 px1,125 rem1,8 rem0,9 rem
20 px1,25 rem2 rem1 rem
22 px1,375 rem2,2 rem1,1 rem
24 px1,5 rem2,4 rem1,2 rem
25 px1,5625 rem2,5 rem1,25 rem
26 px1,625 rem2,6 rem1,3 rem
28 px1,75 rem2,8 rem1,4 rem
30 px1,875 rem3 rem1,5 rem
32 px2 rem3,2 rem1,6 rem
36 px2,25 rem3,6 rem1,8 rem
40 px2,5 rem4 rem2 rem
44 px2,75 rem4,4 rem2,2 rem
48 px3 rem4,8 rem2,4 rem
50 px3,125 rem5 rem2,5 rem
56 px3,5 rem5,6 rem2,8 rem
60 px3,75 rem6 rem3 rem
64 px4 rem6,4 rem3,2 rem
72 px4,5 rem7,2 rem3,6 rem
80 px5 rem8 rem4 rem
96 px6 rem9,6 rem4,8 rem
100 px6,25 rem10 rem5 rem
120 px7,5 rem12 rem6 rem
128 px8 rem12,8 rem6,4 rem
160 px10 rem16 rem8 rem
192 px12 rem19,2 rem9,6 rem
200 px12,5 rem20 rem10 rem
256 px16 rem25,6 rem12,8 rem
320 px20 rem32 rem16 rem
400 px25 rem40 rem20 rem
Fiecare celulă a fost calculată de convertor prin împărțirea dimensiunii în pixeli la bază și scrisă cu cel mult patru zecimale, ca în câmpul rezultatului.

Cum se scriu în rem rânduri dintr-o foaie de stil?

Fiecare rând este scris în pixeli, cum vine din machetă, iar lângă el se află aceeași valoare în rem la baza de 16 px și la baza de 10 px a tehnicii 62,5 %. Coloanele de valori conțin cod CSS, de aceea zecimalele sunt scrise cu punct.
Rândul în pixelirem la baza de 16 pxrem la baza de 10 px (62,5 %)
font-size: 16px1rem1.6rem
font-size: 14px0.875rem1.4rem
font-size: 28px1.75rem2.8rem
padding: 12px 24px0.75rem 1.5rem1.2rem 2.4rem
margin-bottom: 32px2rem3.2rem
border-radius: 8px0.5rem0.8rem
max-width: 1200px75rem120rem
@media (min-width: 768px)48rem48rem
Pe ultimul rând valoarea rămâne 48rem în ambele coloane. rem dintr-un media query se calculează din valoarea inițială a mărimii fontului, iar regula scrisă pentru elementul html nu o influențează[2]. Am măsurat acest lucru în Chrome și Firefox pe o pagină cu tehnica 62,5 %: regula @media (min-width: 48rem) a început să se aplice la lățimea de 768 px. Când am mărit fontul browserului la 20 px, a început să se aplice la lățimea de 960 px.

Ce scrieri acceptă și calculează convertorul px în rem?

Fiecare câmp acceptă și calculează fiecare scriere din propria secțiune a acestui tabel, așa că nu trebuie să corectați dimensiunea înainte s-o lipiți. Lipiți-o așa cum ați copiat-o din machetă sau din foaia de stil, cu unitate sau fără. Coloana din mijloc arată rezultatul calculat chiar de convertor, la baza de 16 px.
Ce scrieți sau lipițiCalculul convertoruluiCe se întâmplă cu această scriere
Primul câmp: dimensiunea în pixeli, baza de 16 px
241,5 remDoar numărul, cum apare dimensiunea în panoul de măsuri al aplicației de design.
24px1,5 remUnitatea lipită de număr: citim numărul și ignorăm px.
24 pixeli1,5 remUnitatea scrisă în română, după un spațiu: luăm numărul și ignorăm cuvântul.
13,50,8438 remDimensiune cu virgulă zecimală: rezultatul apare cu patru zecimale după rotunjire.
1.2000,075 remUn punct singur îl citim întotdeauna ca separator zecimal, așa că socotim 1,2 pixeli. Sub câmp apare o indicație, iar o mie două sute se scrie 1200 sau 1 200.
1,2000,075 remVirgula o citim pe această pagină ca zecimală chiar dacă o urmează trei cifre, deci dimensiunea este 1,2 px, iar sub câmp apare o indicație. Pentru o mie două sute scrieți 1200 sau 1 200.
1200px75 remLățimea unui container cu unitate și fără separator de mii: face 75 rem.
padding: 20px;1,25 remUn rând întreg din foaia de stil: luăm numărul și ignorăm numele proprietății și punctul și virgula.
−8px-0,5 remSemnul minus tipografic „−” din fața numărului îl citim ca semn negativ, ca într-o margine negativă.
Câmpul „Font-size de bază”: convertorul calculează baza
62,5 %10 pxProcentul așa cum îl scrieți pentru elementul html: 62,5 % din baza implicită de 16 px înseamnă 10.
font-size: 18px18 pxRând copiat din foaia de stil: luăm 18 ca bază.
Am încercat fiecare scriere în câmpul propriu-zis înainte s-o trecem aici. Dacă sub câmp apare cererea de a introduce un singur număr, lăsați în câmp doar dimensiunea.

Cum transform dimensiunile din Figma sau o foaie de stil întreagă din px în rem?

Pentru câteva dimensiuni ajunge convertorul. Când dimensiunile sunt multe, aplicațiile de design și instrumentele de build pot calcula singure rem.

  1. O dimensiune din machetă

    Copiați dimensiunea în pixeli din panoul de măsuri și lipiți-o în primul câmp. Dacă pagina setează o mărime de font pentru elementul html, scrieți-o în câmpul Font-size de bază înainte să copiați rezultatul.
  2. Dev Mode în Figma

    În planurile plătite, Dev Mode afișează dimensiunile direct în rem. Denumirile de aici sunt în engleză, ca în interfața Figma. În secțiunea Code a panoului Inspect faceți clic pe Inspect settings lângă meniul de limbaj și alegeți unitatea rem. Ca să schimbați baza, alegeți din același loc Set unit scale… și scrieți baza în fereastra Unit scale.
  3. O funcție în Sass

    Sass împarte numerele cu funcția math.div() din modulul sass:math[3]. Funcția @function rem($px) { @return math.div($px, 16px) * 1rem; } face ca rem(24px) să fie 1.5rem.
  4. PostCSS pentru o foaie de stil întreagă

    Pluginul postcss-pxtorem transformă px în rem în fișierele CSS la build[4]. Baza lui implicită este 16, iar cu setările implicite transformă doar proprietățile fontului: font, font-size, line-height și letter-spacing. Media query-urile rămân în pixeli.

Convertiți Pixeli în alte unități

Surse

  1. CSS Values and Units Module Level 4 — W3C
  2. Media Queries Level 4 — W3C
  3. sass:math — Sass
  4. postcss-pxtorem — GitHub
  5. <length> CSS type — MDN Web Docs
  6. Web Content Accessibility Guidelines (WCAG) 2.2 — W3C

Toate valorile din tabele le-am calculat pornind de la definițiile unităților și le-am verificat prin calcul înainte de publicare. Datele istorice și denumirile unităților locale se bazează pe sursele enumerate mai sus.

Ultima verificare a conținutului: · redactat și verificat de echipa Arteon

Întrebări frecvente despre conversia px în rem

Câți rem au 16 px?

16 px înseamnă 1 rem la baza implicită de 16 px. Cu tehnica 62,5 %, adică la baza de 10 px, înseamnă 1,6 rem.

Câți rem au 14 px și 12 px?

La baza de 16 px, 14 px înseamnă 0,875 rem, iar 12 px înseamnă 0,75 rem.

Înseamnă 24 px întotdeauna 1,5 rem?

Acest lucru e valabil doar la baza de 16 px. Dacă pagina scrie altă mărime pentru elementul html, împărțiți la ea: la baza de 10 px, 24 px înseamnă 2,4 rem, iar la baza de 20 px înseamnă 1,2 rem.

De ce împărțim la 16?

Pentru că 16 px este o mărime implicită obișnuită a fontului în browsere, pe care utilizatorul o poate schimba din setările lui[5]. În măsurătoarea noastră, Chrome, Edge și Firefox foloseau această mărime înainte de orice schimbare a setărilor.

Schimbă tehnica 62,5 % valorile rem din media query-uri?

Nu. Regula @media (min-width: 48rem) începe să se aplice de la 768 px și cu tehnica, și fără ea, pentru că rem dintr-un media query se calculează din valoarea inițială a mărimii fontului[2]. De aceea transformați limitele media query-urilor împărțind la 16.

Care este diferența dintre conversia px în rem și conversia în em?

rem se calculează din mărimea fontului elementului html, deci împărțiți la aceeași bază în toată pagina. em se calculează din mărimea fontului elementului părinte, deci împărțiți la mărimea părintelui. Pentru acest calcul există convertorul px în em.

Trebuie scrisă o bordură de 1px în rem?

Dacă vreți ca bordura să rămână groasă de un pixel la orice setare, lăsați-o 1px. Dacă o scrieți 0.0625rem, la cititorul care a ales baza de 20 grosimea ei devine 1,25 px. Și pluginul postcss-pxtorem lasă proprietatea border în pixeli cu setările implicite[4].

Crește textul scris în rem odată cu setarea cititorului?

Da. Textul scris în rem crește odată cu mărimea fontului pe care cititorul o alege în browser, iar textul scris în pixeli rămâne la fel. Criteriul 1.4.4 Resize Text din WCAG se ocupă de această situație: textul să poată fi mărit până la 200 % fără pierderi de conținut sau de funcționalitate[6].

Captură de ecran a instrumentului gratuit Arteon: Convertor pixeli (px) în rem

Ajutați-ne să ne îmbunătățim instrumentele

Ați găsit o dimensiune care dă alt rezultat în browserul dumneavoastră sau aveți o idee pentru convertor? Scrieți-ne.