Przelicz em na piksele przy dowolnym rozmiarze rodzica

Ostatnia aktualizacja treści:

Przy domyślnym ustawieniu przeglądarki jeden em to 16 pikseli, więc 1,5 em daje 24. Wpisz wartość w em, ustaw font-size rodzica i odczytaj wynik – niżej znajdziesz tabelę kumulacji przy zagnieżdżeniu. Odstęp 1,25 em to na przykład 20 pikseli przy podstawie 16.

em
px
na

Po co przeliczać em na piksele?

Em zamienia się na piksele jednym mnożeniem: wartość w em razy rozmiar pisma rodzica. Przy domyślnym ustawieniu przeglądarki rodzic ma 16 px, więc 1 em daje 16 pikseli, a 1,5 em daje 24. Jednostka odnosi się do rozmiaru tekstu elementu nadrzędnego[1].

Przeliczenie przydaje się, gdy czytasz cudzy arkusz stylów i chcesz wiedzieć, ile realnie mierzy odstęp zapisany jako 0,75 em. Odpowiedź zależy od tego, w którym miejscu dokumentu ten odstęp leży, a to właśnie odróżnia em od pozostałych jednostek względnych.

Rodzic nie musi mieć 16 px. W karcie może mieć 14 px, w nagłówku sekcji 20 px lub więcej, dlatego pole rozmiaru przyjmuje wartości od 1 do 200.

Niżej znajdziesz tabelę 26 wartości przy trzech rozmiarach rodzica, tabelę kumulacji przy zagnieżdżeniu oraz rozstrzygnięcie, kiedy sięgnąć po em, a kiedy po rem. Drogę w drugą stronę pokrywa konwerter pikseli na em.

Jak policzyć em na piksele ręcznie? Wzór i przykład

Wzór ma jedno działanie: piksele = em × rozmiar pisma rodzica. Rozmiar pisma rodzica to wartość font-size elementu, wewnątrz którego leży Twój element, a jeśli nikt jej nie zmieniał, przeglądarka używa 16 px.

Weź odstęp 1,25 em: przy rodzicu 16 px wychodzi 1,25 × 16 = 20 pikseli. Ta sama wartość wewnątrz karty z pismem 14 px daje 17,5 piksela, a w nagłówku o rozmiarze 20 px rośnie do 25.

We właściwości font-size em odnosi się do rodzica, ale w każdej innej właściwości tego samego elementu – w padding, margin czy width – odnosi się już do rozmiaru pisma tego elementu[2]. Element z font-size: 1.5em i padding: 1em przy rodzicu 16 px ma pismo 24 px i padding również 24 px, a nie 16.

Jednostka rem liczy się tak samo, tylko zawsze od elementu html, przez co daje ten sam wynik w całym dokumencie: to zadanie dla konwertera rem na piksele. Te same 16 pikseli to w składzie 12 punktów typograficznych, co przelicza konwerter punktów na piksele.

Karta wzornika pisma z próbkami tekstu opisanymi stopniem w punktach
Wzornik pokazuje jeden krój w kolejnych stopniach pisma, od czterech do dwudziestu punktów. Ten stopień jest punktem odniesienia dla em: przy rodzicu 12 punktów, czyli 16 pikselach na ekranie, 1 em daje 16 pikseli, a 1,5 em daje 24. Zdjęcie: Public domain.

Ile pikseli mają popularne wartości w em?

Wartość w emRodzic 16 px (domyślny)Rodzic 14 px (karta)Rodzic 20 px (nagłówek)
0,25 em4 px3,5 px5 px
0,375 em6 px5,25 px7,5 px
0,5 em8 px7 px10 px
0,625 em10 px8,75 px12,5 px
0,75 em12 px10,5 px15 px
0,8 em12,8 px11,2 px16 px
0,875 em14 px12,25 px17,5 px
1 em16 px14 px20 px
1,125 em18 px15,75 px22,5 px
1,25 em20 px17,5 px25 px
1,375 em22 px19,25 px27,5 px
1,5 em24 px21 px30 px
1,625 em26 px22,75 px32,5 px
1,75 em28 px24,5 px35 px
1,875 em30 px26,25 px37,5 px
2 em32 px28 px40 px
2,25 em36 px31,5 px45 px
2,5 em40 px35 px50 px
2,75 em44 px38,5 px55 px
3 em48 px42 px60 px
3,5 em56 px49 px70 px
4 em64 px56 px80 px
4,5 em72 px63 px90 px
5 em80 px70 px100 px
6 em96 px84 px120 px
8 em128 px112 px160 px
Każda kolumna zakłada inny rozmiar rodzica: 16 px to domyślne ustawienie przeglądarki, 14 px oznacza pismo w karcie interfejsu, a 20 px nagłówek sekcji.

Dlaczego ta sama wartość w em daje różne piksele?

Em mierzy się względem rodzica, a rodzic ma swojego rodzica. Gdy ten sam zapis font-size: 1.25em powtórzy się na kolejnych poziomach zagnieżdżenia, każdy poziom mnoży wynik poprzedniego. Po sześciu poziomach z 16 pikseli robi się ponad 61.

Widać to w listach zagnieżdżonych, w menu z podmenu i w komentarzach z odpowiedziami, bo tam struktura sama tworzy kolejne poziomy. Tabela niżej pokazuje każdy krok razem z rachunkiem, żeby było widać, skąd bierze się każda liczba.

Stąd praktyczna zasada: em sprawdza się tam, gdzie wartość ma iść za rozmiarem pisma najbliższego kontekstu – odstęp wokół tekstu przycisku, wcięcie listy, szerokość pola formularza. Do stopni pisma w całym serwisie lepiej nadaje się rem, bo liczy się od korzenia dokumentu i przy zagnieżdżaniu daje zawsze tę samą wartość.

Jeśli szukasz właśnie tej przewidywalności, przeliczenie zrobi konwerter rem na piksele, a zapis wymiaru z makiety w jednostce rem – konwerter pikseli na rem.

Kod CSS z regułą .hero ustawiającą font-size: 60px i nagłówkami w 220px
Reguła .hero ustawia rozmiar pisma na 60px. Każdy em wewnątrz tego bloku liczy się od tych 60 pikseli, więc odstęp zapisany jako 0,5 em daje w nim 30 pikseli. Odstęp 0,5 rem da w tym samym bloku 8 pikseli, bo rem liczy się zawsze od korzenia dokumentu, domyślnie 16 px. Taki zapis przelicza konwerter rem na piksele. Zdjęcie: Ferenc Almasi, Unsplash.

Jak em kumuluje się przy zagnieżdżaniu?

Poziom zagnieżdżeniaRozmiar rodzicaWynik na tym poziomieRachunek
Pierwszy16 px20 px16 × 1,25
Drugi20 px25 px20 × 1,25
Trzeci25 px31,25 px25 × 1,25
Czwarty31,25 px39,06 px31,25 × 1,25
Piąty39,06 px48,83 px39,06 × 1,25
Szósty48,83 px61,04 px48,83 × 1,25
Tabela pokazuje sześć poziomów z tym samym zapisem font-size: 1.25em, licząc od domyślnych 16 px. Kolumna z rachunkiem pokazuje, skąd bierze się każda liczba.

Em, rem i piksel obok siebie

Cechaemrempx
Punkt odniesieniaRozmiar pisma rodzicaRozmiar pisma elementu htmlBrak, wartość bezwzględna
Wartość domyślna1 em = 16 px1 rem = 16 px1 px = 1/96 cala
Przy zagnieżdżaniuKumuluje się na każdym poziomieZawsze ta sama wartośćZawsze ta sama wartość
Reakcja na ustawienia czytelnikaSkaluje sięSkaluje sięZostaje bez zmian
W media queryLiczy od domyślnego rozmiaru tekstuLiczy od domyślnego rozmiaru tekstuWartość bezwzględna
W szablonach pocztowychWszystkie testowane programyOkoło dwóch trzecich programówWszystkie testowane programy
Typowe zastosowanieOdstęp wokół tekstu, wcięcie listyStopnie pisma i skala odstępówObramowania, cienie, linie włosowe
Tabela porównuje em, rem i piksel w siedmiu właściwościach.

Kiedy przeliczysz em na piksele?

  1. Czytanie cudzego arkusza

    Otwierasz projekt zapisany w em i chcesz wiedzieć, ile realnie mierzy odstęp. Wpisz rozmiar pisma rodzica i odczytaj wartość w pikselach.
  2. Debugowanie zagnieżdżonej listy

    Tekst na czwartym poziomie listy urósł ponad plan. Tabela kumulacji pokazuje, ile daje ten sam zapis na każdym kolejnym poziomie.
  3. Porównanie z makietą

    Projekt podaje 24 piksele, kod mówi 1,5 em. Jedno mnożenie mówi Ci, czy obie liczby opisują ten sam rozmiar.
  4. Szablon wiadomości pocztowej

    W szablonach pocztowych em działa we wszystkich testowanych programach[3]. Rem nie działa w Outlooku dla Windowsa[4], więc wymiary względne zapisuje się w em.

Konwertuj inne jednostki na Piksele

Źródła

  1. CSS Values and Units Module Level 4 — W3C
  2. font-size — MDN Web Docs
  3. CSS unit: em — Can I email
  4. CSS unit: rem — Can I email

Wszystkie wartości w tabelach wyliczyliśmy z definicji jednostek i sprawdziliśmy rachunkowo przed publikacją. Dane historyczne i nazwy lokalnych jednostek opieramy na źródłach wymienionych wyżej.

Ostatnia aktualizacja treści: · przygotował i sprawdził zespół Arteon

Często zadawane pytania

Ile pikseli ma 1 em?

Przy domyślnym ustawieniu przeglądarki 1 em to 16 pikseli. Liczba bierze się z rozmiaru pisma rodzica, więc wewnątrz karty z pismem 14 px ten sam 1 em daje 14 pikseli, a w nagłówku o rozmiarze 20 px daje 20.

Ile pikseli ma 1,5 em?

24 piksele przy rodzicu 16 px, 21 pikseli przy rodzicu 14 px i 30 pikseli przy 20 px.

Ile pikseli ma 0,875 em?

14 pikseli przy rodzicu 16 px. Przy rodzicu 14 px to 12,25 piksela, a przy 20 px – 17,5.

Ile pikseli ma 2 em?

32 piksele przy rodzicu 16 px, 28 pikseli przy 14 px i 40 pikseli przy 20 px.

Jaka jest różnica między em a rem?

Em odnosi się do rozmiaru pisma rodzica, więc przy zagnieżdżaniu wartości mnożą się: sześć poziomów z zapisem 1.2em zamienia 16 pikseli w prawie 40. Rem odnosi się do elementu html i daje ten sam wynik w całym dokumencie, niezależnie od tego, jak głęboko leży element. Gotową wartość w em przepiszesz na rem w przeliczniku jednostek typograficznych.

Kiedy używać em, a kiedy rem?

Em sprawdza się tam, gdzie wymiar ma iść za pismem najbliższego kontekstu: odstęp wokół tekstu przycisku, wcięcie listy, szerokość pola formularza. Rem sprawdza się przy stopniach pisma i skali odstępów w całym serwisie, bo wynik pozostaje przewidywalny.

Dlaczego 1em raz ma 16, a raz 32 piksele?

Bo punkt odniesienia zmienia się razem z miejscem w dokumencie. Wartość 1 em wewnątrz akapitu o rozmiarze 16 px to 16 pikseli, a wewnątrz nagłówka o rozmiarze 32 px to 32 piksele. Konwerter powyżej przyjmuje rozmiar rodzica właśnie po to, żeby pokazać wynik dla konkretnego miejsca.

Czy em w paddingu liczy się tak samo jak we font-size?

We właściwości font-size em odnosi się do rodzica. W pozostałych właściwościach tego samego elementu, w tym w paddingu i marginesie, odnosi się do rozmiaru pisma tego elementu. Element z font-size: 1.5em przy rodzicu 16 px ma pismo 24 px, więc jego padding: 1em daje również 24 piksele.

Jak przeliczyć em na piksele w programie graficznym?

Figma, Photoshop i Illustrator podają stopnie pisma i wymiary elementów w pikselach albo w punktach, nie w em. Em pojawia się dopiero po stronie kodu i w narzędziach webowych, dlatego wymiar z makiety przelicza się osobno – tym konwerterem albo w zakładce Computed w narzędziach deweloperskich przeglądarki.

Czy em działa w szablonach wiadomości pocztowych?

Tak, i to we wszystkich testowanych programach pocztowych. Jednostka rem ma tam wsparcie na poziomie około dwóch trzecich programów i nie działa w Outlooku dla Windowsa, dlatego wymiary względne w szablonach zapisuje się w em.

Ile to jest 1 piksel w em?

Przy rodzicu 16 px jeden piksel to 0,0625 em. W drugą stronę 12 px to 0,75 em, a 14 px to 0,875 em. 20 px to 1,25 em, a 24 px to 1,5 em.

Czy em wpływa na dostępność?

Tak. Wymiary zapisane w em rosną razem z ustawieniem rozmiaru tekstu w przeglądarce, więc układ idzie za ustawieniem czytelnika. Przy stopniach pisma w całym serwisie ten sam efekt daje rem, z tą przewagą, że nie kumuluje się przy zagnieżdżaniu.

Zrzut ekranu darmowego narzędzia Arteon: Przelicz em na piksele przy dowolnym rozmiarze rodzica

Pomóż nam ulepszać nasze narzędzia

Masz pomysł na funkcję, widzisz błąd albo chcesz zaproponować kolejne narzędzie? Napisz do nas.