PX-ből REM-be és EM-be Átváltó – Ingyenes CSS Egység Kalkulátor
Váltson át pixeleket REM és EM egységekre azonnal. Ingyenes CSS egység konvertáló reszponzív webdesignhoz. Támogatja az egyedi betűméreteket és valós idejű számításokat a pontos eredményekhez.
PX, REM és EM egységek konvertálása
Konvertáljon pixelek (PX), root em (REM) és em (EM) egységek között. Adjon meg egy értéket bármely mezőben a többi egység egyenértékű értékeinek megtekintéséhez.
Konverziós képletek
- PX to REM: érték px-ben ÷ gyökér betűméret
- PX to EM: érték px-ben ÷ szülő elem betűmérete
- REM to PX: érték rem-ben × gyökér betűméret
- EM to PX: érték em-ben × szülő elem betűmérete
Dokumentáció
PX, REM és EM egységek konvertere: Alapvető CSS egységek magyarázata
Miért fontos a CSS egységek konvertálása a modern webfejlesztésben
Amikor reszponzív weboldalakat épít, az egyik leggyakoribb kihívás a tervezési specifikációk lefordítása rugalmas, skálázható CSS-sé. Valószínűleg látott már egy Figma tervezetet "padding: 24px" értékkel, és elgondolkodott, hogy megtartsa pixelben vagy konvertálja rem egységekké. Ez a döntés hatással van mindenre az akadálymentesítéstől kezdve addig, hogyan reagál az elrendezés, amikor a felhasználók módosítják böngészőjük betűméretét.
Ez a PX, REM és EM egységeket konvertáló eszköz segít gyorsan átváltani e három alapvető CSS egység között. A pixelek pontos vezérlést adnak - kiválóak keretekhez és apró részletekhez. A REM egységek a gyökér betűmérettel skálázódnak, így ideálisak az egész oldal konzisztens térközének és tipográfiájának kialakításához. Az EM egységek a szülőelemükhöz viszonyítva skálázódnak, tökéletesek önálló komponensek létrehozásához, amelyek megtartják arányaikat.
A trükkös rész? A köztük való konvertálás során figyelembe kell venni a betűméreteket, amelyek eltérhetnek a gyökérelem és az egyedi komponensek között. Egy gyakori hiba, amit a fejlesztőknél látok, hogy mindenhol pixeleket használnak, mert egyszerűbbnek tűnik. Bár ez kezdetben működik, akadálymentesítési problémákat okoz, amikor a felhasználók megnövelik böngészőjük alapértelmezett betűméretét - az elrendezés nem alkalmazkodik arányosan.
A CSS egységek megértése: PX, REM és EM
Mik azok a pixelek (PX)?
A pixelek (PX) a legegyszerűbb CSS egységet képviselik—amit megadsz, azt kapod. Egy CSS pixel egy referenciaegység, nem feltétlenül egy fizikai képernyőpixel (különösen nagy felbontású kijelzőkön, mint a Retina képernyők). Rögzített méretezést biztosítanak, amely nem változik a betűméretek vagy szülőelemek alapján.
1.element {
2 width: 200px;
3 font-size: 16px;
4 margin: 10px;
5}
6Mikor működnek jól a pixelek:
- Keretek és elválasztók (1px vagy 2px keretek élesek maradnak)
- Kis, precíz részletek, amelyeknek nem kell méretezhetőnek lenniük
- Rögzített szélességű tárolók, amikor pontos méretekre van szükség
- Ikonméretek pixel-tökéletes sprite lapok használatakor
A csapda: A pixelek nem veszik figyelembe a felhasználói beállításokat. Ha valaki megnöveli böngészője alapértelmezett betűméretét 16px-ről 20px-re jobb olvashatóság érdekében, a pixelalapú elrendezések változatlanok maradnak, ami potenciálisan szövegtúlcsorduláshoz vagy zsúfolt térközökhöz vezethet.
Mik azok a REM egységek?
A REM (root em) egységek a gyökérelem betűméretéhez igazodnak—általában a <html> elem. A legtöbb böngésző alapértelmezetten 16px-et használ, tehát 1rem 16px-nek felel meg, kivéve, ha megváltoztatja a gyökér betűméretet. Íme, mi teszi a REM-eket hatékonnyá: konzisztens, kiszámítható méretezést biztosítanak az egész webhelyen.
1html {
2 font-size: 16px; /* Alapértelmezés a legtöbb böngészőben */
3}
4
5.element {
6 width: 12.5rem; /* Egyenértékű 200px-szel alapértelmezett gyökér betűméret esetén */
7 font-size: 1rem; /* Egyenértékű 16px-szel */
8 margin: 0.625rem; /* Egyenértékű 10px-szel */
9}
10Miért kedvelik a fejlesztők a REM egységeket:
- Konzisztens méretezés: A gyökér betűméret megváltoztatásával minden arányosan méretezi magát
- Akadálymentesség: Amikor a felhasználók módosítják böngészőjük betűméretét, a REM-alapú elrendezések automatikusan alkalmazkodnak
- Egyszerűbb karbantartás: Frissítse a térköz értékeket egy helyen, ahelyett, hogy pixel értékek után kutasson
- Nincs halmozódási probléma: Az EM egységektől eltérően a REM-ek nem halmozódnak, amikor elemek egymásba ágyazódnak
Profi tipp tapasztalatból: Állítsa a gyökér betűméretet 62.5%-ra (ami 1rem-et 10px-re állítja az alapértelmezett 16px-szel). Ez megkönnyíti a fejben számolást—1.6rem = 16px, 2.4rem = 24px. Csak ne felejtse el a body betűméretét vissza 1.6rem-re állítani, hogy a szöveg alapértelmezetten 16px legyen. A W3C CSS értékek és egységek specifikációja szerint a REM egységek mindig a gyökérelemre hivatkoznak, ami kiszámíthatóvá teszi őket összetett elrendezésekben.
Mik azok az EM egységek?
Az EM egységek a szülőelem betűméretéhez igazodnak, így kontextusfüggőek. Ez a viselkedés eltér a REM egységektől, amelyek mindig a gyökérre hivatkoznak. Az "em" név a tipográfiából ered—történetileg egy adott betűtípus nagybetűs "M" betűjének szélességét jelentette.
1.parent {
2 font-size: 20px;
3}
4
5.child {
6 font-size: 0.8em; /* Egyenértékű 16px-szel (20px × 0.8) */
7 margin: 0.5em; /* Egyenértékű 8px-szel (16px × 0.5) */
8}
9Mikor ragyognak az EM egységek:
- Komponens alapú dizájn: Betűmérethez igazodó kitöltés és margók
- Tipográfia: A sortávolság jól működik dimenziótlan értékekkel vagy em-ekkel (mint
line-height: 1.5em) - Önálló modulok: Gombok vagy kártyák, amelyek megtartják arányaikat betűméret változásakor
- Média lekérdezések: Az MDN Web Docs szerint az EM egységek média lekérdezésekben a böngésző alapértelmezett betűméretére hivatkoznak, nem a szülőelemére
A halmozódási csapda: Íme, hol akadnak el gyakran a fejlesztők. Az EM egységek каszkádolódnak a beágyazott elemeknél, ami váratlan eredményekhez vezethet:
1.level-1 { font-size: 1.2em; } /* 19.2px, ha a szülő 16px */
2.level-2 { font-size: 1.2em; } /* 23.04px (19.2px × 1.2) */
3.level-3 { font-size: 1.2em; } /* 27.65px (23.04px × 1.2) */
4Három szintű beágyazás után a szöveg 73%-kal nőtt a kívánt 20% helyett. Ez az oka annak, hogy sok fejlesztő áttért a REM egységekre a tipográfiában, amint a böngészőtámogatás javult.
Konverziós képletek és számítások
A PX, REM és EM egységek közötti matematikai összefüggések megértése kulcsfontosságú a pontos átváltásokhoz. Íme a konverterben használt képletek:
PX-ről REM-re konvertálás
A pixelek REM egységekre történő átváltásához ossza el a pixel értékét a gyökér betűmérettel:
Például az alapértelmezett 16px-es gyökér betűmérettel:
- 16px = 1rem
- 24px = 1.5rem
- 8px = 0.5rem
PX-ről EM-re konvertálás
A pixelek EM egységekre történő átváltásához ossza el a pixel értékét a szülőelem betűméretével:
Például egy 16px-es szülőelem betűmérettel:
- 16px = 1em
- 24px = 1.5em
- 8px = 0.5em
REM-ről PX-re konvertálás
A REM egységek pixelekre történő átváltásához szorozza meg a REM értékét a gyökér betűmérettel:
Például az alapértelmezett 16px-es gyökér betűmérettel:
- 1rem = 16px
- 1.5rem = 24px
- 0.5rem = 8px
EM-ről PX-re konvertálás
Az EM egységek pixelekre történő átváltásához szorozza meg az EM értékét a szülőelem betűméretével:
Például egy 16px-es szülőelem betűmérettel:
- 1em = 16px
- 1.5em = 24px
- 0.5em = 8px
REM-ről EM-re konvertálás
A REM egységek EM egységekre történő átváltásához figyelembe kell venni a gyökér betűméretet és a szülőelem betűméretét:
Ha mindkét betűméret megegyezik (pl. 16px), akkor 1rem = 1em.
EM-ről REM-re konvertálás
Az EM egységek REM egységekre történő átváltásához használja a következő képletet:
Ismét, ha mindkét betűméret megegyezik, akkor 1em = 1rem.
A PX-ből REM-be és EM-be átváltó egység konvertáló használata
A pontos átváltások egyszerűen elvégezhetők ezzel az eszközzel. A kulcs az adott helyzetnek megfelelő betűméretek megértése.
Gyors útmutató
- Adja meg az értéket bármely mezőben - pixelben, REM-ben vagy EM-ben
- Ellenőrizze az eredményeket azonnal a másik két egységben
- Állítsa be a betűméreteket a projektjéhez:
- Gyökér betűméret: Amit a
<html>elemén beállított (általában 16px) - Szülő betűméret: Az adott elem szülőjének betűmérete (szintén általában 16px)
- Gyökér betűméret: Amit a
- Másolja ki a kívánt értéket a másolás gomb segítségével
Pontos eredmények elérése a projekthez
A konvertáló alapértelmezetten 16px-et használ mind a gyökér, mind a szülő betűmérethez, mivel ez a böngésző szabványa. De ami fontos: a tényleges projekt eltérő értékeket használhat.
A gyökér betűméret megtalálása: Nyissa meg a böngésző fejlesztői eszközeit, vizsgálja meg a <html> elemet, és ellenőrizze a számított betűméretet. Ha html { font-size: 62.5%; } van beállítva, a gyökér betűméret 10px (16px 62,5%-a).
A szülő betűméret megtalálása: EM átváltásokhoz meg kell találnia a konkrét szülő elem betűméretét, ahol a stílust alkalmazza. Vizsgálja meg az elemet a fejlesztői eszközökben a számított betűméret megtekintéséhez. Ha a szülő font-size: 1.2rem és a gyökér 16px, állítsa a szülő betűméretet 19,2px-re a pontos EM számításokhoz.
Gyakori átváltási forgatókönyvek
Tervből kódba: A Figma fájl padding: 24px-t mutat. REM egységeket szeretne használni a jobb hozzáférhetőség érdekében. Írja be a 24-et a PX mezőbe, és látni fogja, hogy 1,5 rem (16px gyökér esetén).
Gomb komponens létrehozása: A kitöltést a gomb betűméretéhez szeretné igazítani. Ha a gomb font-size: 1.125rem (18px), állítsa a szülő betűméretet 18-ra, adja meg a kívánt pixel kitöltést, és használja a kapott EM értéket.
Reszponzív tipográfia: Egy 32px-es fejlécet hoz létre asztali nézetben. Írja be a 32px-t, hogy lássa, ez 2 rem, amely megfelelően skálázódik, amikor a felhasználók módosítják böngészőjük betűméretét.
Valós CSS Egység Konverziós Felhasználási Esetek
A képletek ismerete egy dolog - azok hatékony alkalmazása éles kódban már más. Íme, hol tesz valódi különbséget az egységkonverzió a projektjeiben.
Tervezési Fájlok Konvertálása Reszponzív CSS-sé
Kapsz egy Figma tervezetet, ahol minden pixelben van megadva. A kártya komponens mutatja:
- Kitöltés: 24px
- Fejléc betűméret: 28px
- Törzs betűméret: 16px
- Alsó margó: 40px
Konvertálva REM egységekre (16px gyökér esetén):
1.card {
2 padding: 1.5rem; /* 24px → 1.5rem */
3 margin-bottom: 2.5rem; /* 40px → 2.5rem */
4}
5
6.card__heading {
7 font-size: 1.75rem; /* 28px → 1.75rem */
8}
9
10.card__body {
11 font-size: 1rem; /* 16px → 1rem */
12}
13Mi a haszna? Amikor egy látássérült felhasználó megnöveli böngészője alapértelmezett betűméretét 16px-ről 20px-re, a kártya arányosan méretezi magát. A kitöltés, margók és szöveg 25%-kal nő, fenntartva a dizájn vizuális egyensúlyát. Pixel értékekkel csak a szöveg nőne, ami tönkretenné az elrendezést.
Hozzáférhető Komponens Könyvtárak Építése
A komponens könyvtáraknak olyan gombokra van szükségük, amelyek bármilyen méretben működnek - kicsi, közepes, nagy. EM egységek használata a kitöltésnél önmagában méretezhető komponenst hoz létre:
1.button {
2 /* Alap gomb 16px betűmérettel */
3 font-size: 1rem;
4 padding: 0.75em 1.5em; /* 12px 24px alapméretben */
5 border: 1px solid currentColor;
6 border-radius: 0.25em;
7}
8
9.button--large {
10 font-size: 1.25rem; /* 20px */
11 /* Kitöltés automatikusan 15px 30px lesz (0.75em × 20px) */
12}
13
14.button--small {
15 font-size: 0.875rem; /* 14px */
16 /* Kitöltés automatikusan 10.5px 21px lesz (0.75em × 14px) */
17}
18A kitöltés automatikusan méretezi magát, mert EM egységekben van definiálva a gomb betűméretéhez viszonyítva. Egyszer meghatározod az arányokat, és azok minden méretvariánsban működnek. Ez a megközelítés, amelyet a modern CSS architektúra minták ajánlanak, csökkenti a kódot és fenntartja a vizuális konzisztenciát.
[A fordítás folytatódik a teljes dokumentumban...]
Hogyan fejlődtek a CSS egységek: Rögzítettől a rugalmasig
A pixelekről a relatív egységekre történő váltás tükrözi a web útját a statikus dokumentumoktól a reszponzív alkalmazásokig. Ennek a történelemnek a megértése magyarázza, miért konvertálunk ma egységeket.
A pixel-tökéletes korszak (1990-es–2000-es évek)
A korai weboldalakat adott képernyőszélességekre tervezték – 640px, majd 800px, aztán 1024px. A CSS elrendezések kizárólag pixeleket használtak, mert a nyomdai tervezők ezt értették. Az oldalak azonosak maradtak a böngészők között (amikor működtek), de teljesen tönkrementek váratlan képernyőméreteken. A webet nyomtatványként kezelték: rögzítetten, irányítottan, kiszámíthatóan.
Az EM egységek léteztek a CSS specifikációban, örökölve a tipográfiából, de a legtöbb fejlesztő kerülte őket. A halmozódó viselkedés zavaró volt, és nem voltak mobil eszközök, amelyek rugalmas gondolkodásra kényszerítettek volna minket.
A mobil ébresztőhívás (2007-2010)
Az iPhone mindent megváltoztatott. Hirtelen a forgalom jelentős része 320px-es képernyőkről érkezett. A csippentés-nagyítás segített, de az 1024px-es asztali számítógépekre tervezett weboldalak kínosak voltak mobilon.
Ethan Marcotte 2010-es cikke a reszponzív webdesignról kristályosította az új megközelítést: folyékony rácsok, rugalmas képek és médialekérdezések. A relatív egységek alapvetővé, nem opcionálissá váltak. De az EM egységek halmozódó viselkedése hibákat okozott összetett elrendezésekben.
A REM egységek megmentik a napot (2010-Napjainkig)
A CSS3 körülbelül 2010-ben bevezette a REM egységet, megoldva az EM legnagyobb problémáját: a halmozódást. A REM relatív méretezést adott örökítési bonyodalmak nélkül. Az Internet Explorer 9 2011-ben támogatta, és 2015-re a REM egységek főárammá váltak.
Ma a legjobb gyakorlatok stratégiailag kombinálják az egységeket. REM a tipográfiához és térközökhöz. EM komponensen belüli arányokhoz. Pixelek apró részletekhez. A modern CSS függvények, mint a clamp(), dinamikusan keverik ezeket az egységeket, olyan elrendezéseket létrehozva, amelyek bármilyen kontextushoz alkalmazkodnak.
Ez a fejlődés – a merev pixelektől a rugalmas relatív egységekig – tükrözi a felhasználói elvárások változását: a „weboldalaknak mindenhol egyformán kell kinézniük" helyett „weboldalaknak mindenhol jól kell működniük".
Egységátalakítási kód példák
JavaScript egységátalakító függvények
1// Átalakítás PX, REM és EM egységek között
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// Használati példa
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
31CSS egyéni tulajdonságok egységátalakításhoz
1:root {
2 /* Alap betűméretek */
3 --root-font-size: 16px;
4 --base-font-size: var(--root-font-size);
5
6 /* Gyakori pixel értékek REM-re konvertálva */
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 /* Tipográfiai skála */
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/* Használati példa */
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}
34SCSS mixinek egységátalakításhoz
1// SCSS függvények egységátalakításhoz
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// Használati példa
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 // Szülő betűméret (18px) használata em átalakításhoz
22 padding: px-to-em(16, 18);
23 margin-bottom: px-to-em(24, 18);
24 }
25}
26Python egységátalakító
1def px_to_rem(px, root_font_size=16):
2 """Pixel átalakítása REM egységekké"""
3 return px / root_font_size
4
5def rem_to_px(rem, root_font_size=16):
6 """REM egységek átalakítása pixelekké"""
7 return rem * root_font_size
8
9def px_to_em(px, parent_font_size=16):
10 """Pixel átalakítása EM egységekké"""
11 return px / parent_font_size
12
13def em_to_px(em, parent_font_size=16):
14 """EM egységek átalakítása pixelekké"""
15 return em * parent_font_size
16
17# Használati példa
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
21CSS Egységek konvertálásakor elkövetett gyakori hibák
Több száz kódbázis áttekintése után észrevettem, hogy ezek a hibák ismétlődően előfordulnak. Elkerülésük időt takarít meg a hibakeresés során.
1. hiba: Egyedi gyökér betűméret figyelmen kívül hagyása
A probléma: 24px-et 1.5rem-re konvertál, feltételezve az alapértelmezett 16px gyökér betűméretet, de a projekt html { font-size: 62.5%; } beállítást használ, ami 10px-re állítja a gyökeret. Az elem végül 15px lesz 24px helyett.
A megoldás: Mindig ellenőrizze a projekt tényleges gyökér betűméretét konvertálás előtt. Állítsa a konverter gyökér betűméretét a projekt valóságának megfelelően.
2. hiba: EM egységek használata tipográfiánál egymásba ágyazott komponensekben
A probléma: Egy kártya komponenst épít font-size: 1.2em fejléccel. Remekül működik. Aztán egy kártyát egy másik kártyába ágyaz, és hirtelen a belső kártya fejléce 1.44em (1.2 × 1.2) lesz, nem 1.2em.
A megoldás: REM egységeket használjon tipográfiánál, kivéve ha kifejezetten a каszkád viselkedést akarja. Tartsa fenn az EM egységeket olyan térköznél, amely a helyi betűmérettel skálázódik.
3. hiba: Szegélyszélesség konvertálása REM-re
A probléma: border: 1px-t border: 0.0625rem-re konvertál konzisztencia érdekében. Amikor a felhasználók zoomolnak vagy betűméretet változtatnak, a szegélyek vastagok és csúnyák lesznek.
A megoldás: Tartsa meg a szegélyeket pixelben. A töredék pixeles szegélyeknek (0.5px) inkonzisztens a böngészőtámogatása, és a szegélyeknek ritkán kell szövegmérettel skálázódniuk.
4. hiba: Médialekérdezési egységek felhasználói preferenciáinak elfelejtése
A probléma: @media (min-width: 768px)-et ír tablet törésponthoz. Azok a felhasználók, akik nagyobb alapértelmezett betűméretet állítanak be, nem kapják meg a tablet elrendezést, amikor kapniuk kellene.
A megoldás: Használjon EM vagy REM egységeket médialekérdezéseknél: @media (min-width: 48em). Ez tiszteletben tartja a felhasználó betűméret-beállításait, ahogy az MDN reszponzív design dokumentációja ajánlja.
5. hiba: Számítási módszerek keverése
A probléma: A Sass egy számítási módszert használ, a JavaScript egy másikat, a mentális számolás pedig egy harmadikat. Az eredmények nem egyeznek, ami pixel-tologatási frusztrációt okoz.
A megoldás: Használja ezt a konvertert igazságforrásként. Mentse el könyvjelzőként, hivatkozzon rá kódfelülvizsgálatok során, és gondoskodjon róla, hogy csapata minden tagja ugyanazt a konverziós módszertant használja.
Gyakran Ismételt Kérdések
Mi a különbség a REM és EM egységek között?
A hivatkozási pont teljesen eltérő. A REM egységek mindig a gyökér <html> elem betűméretére néznek—függetlenül attól, hogy mennyire vannak beágyazva az elemek, 1rem mindig ugyanakkora számított értéket jelent. Az EM egységek a közvetlen szülő elem betűméretét nézik, ami egy каszkád hatást hoz létre.
Gondoljon úgy erre, hogy ha három <div> elemet ágyaz egymásba, mindegyik font-size: 1.2em értékkel, a legbelső div szövege jóval nagyobb lesz, mint várná, mert minden szint szorozza az előzőt. font-size: 1.2rem használatával mindhárom div azonos betűméretű lesz, mivel mindegyik a gyökérre hivatkozik.
Ezért vált népszerűvé a REM a tipográfiában, amint a böngészőtámogatás javult—kiküszöböli az öröklési láncok nyomon követésének szellemi terhét.
Melyik CSS egység a legjobb reszponzív webdesignhoz?
Egyetlen egység sem nyer minden helyzetben. A legjobb reszponzív dizájnok stratégiailag kombinálják az egységeket:
REM használata: Globális térközök, tipográfiai skálák, komponens közötti térközök és minden olyan méret, amelynek a felhasználó betűméret-beállításaihoz kell igazodnia
EM használata: Komponensen belüli térközök (gomb kitöltése, kártya közötti térközök), média lekérdezések (tiszteletben tartják a felhasználói beállításokat), és elemek, amelyeknek a helyi kontextusukhoz kell igazodniuk
Pixelek használata: 1px-es szegélyek (élesek), dobárnyékok (finom árnyékokhoz pontosság kell), és SVG vonalvastagságok
Százalékok vagy viewport egységek használata: Konténer szélessége, teljes magasságú szakaszok
Láttam olyan kódbázisokat, amelyek egyetlen egységet próbáltak mindenhol használni—ez mindig karbantartási gondokat okoz. Használjon minden egységet ott, ahol a legtöbb előnyt nyújtja.
[A fordítás folytatódik a további részekkel...]
Hivatkozások és további olvasmányok
-
"CSS Values and Units Module Level 3." W3C Ajánlás. https://www.w3.org/TR/css-values-3/
-
Marcotte, Ethan. "Reszponzív webdesign." A List Apart, 2010. május 25. https://alistapart.com/article/responsive-web-design/
-
Rutter, Richard. "A tipográfiai stílus elemei alkalmazva a weben." http://webtypography.net/
-
"CSS egységek." MDN Web Docs. https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units
-
"CSS pixelek vs. fizikai pixelek." Stack Overflow Dokumentáció. https://stackoverflow.com/questions/8785643/what-exactly-is-the-difference-between-css-pixels-and-device-pixels
-
Coyier, Chris. "A CSS hosszúságai." CSS-Tricks. https://css-tricks.com/the-lengths-of-css/
-
"CSS egyedi tulajdonságok (változók) használata." MDN Web Docs. https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties
-
"A rem egységek megértése és használata CSS-ben." SitePoint. https://www.sitepoint.com/understanding-and-using-rem-units-in-css/
CSS egységek pontos konvertálásának megkezdése
Manuális CSS egységek konvertálása fárasztó és hibákra hajlamos. Fejben számolgat, másodszor is ellenőrzi a számításokat, és reméli, hogy a betűméretek rendben vannak. Ez a PX-ről REM-re és EM-re konvertáló eszköz megszünteti ezt a súrlódást.
Adja meg a pixel értékeket a tervezési fájlokból, állítsa be a betűméreteket a projekt konfigurációjának megfelelően, és szerezze meg azonnal a pontos REM és EM értékeket. Másolja őket közvetlenül a kódjába. Akár egy új design rendszert valósít meg, akár egy meglévő kódbázist alakít át relatív egységekre, akár csak meg akarja érteni, hogyan kapcsolódnak ezek az egységek, a konverter elvégzi a matematikát, hogy Ön a fejlesztésre tudjon koncentrálni.
Az akadálymentes webhelyek fejlesztői számára ez az eszköz segít biztosítani, hogy az elrendezések megfelelően méretezhetők legyenek, amikor a felhasználók módosítják betűméret-beállításaikat - ami a WCAG 2.1 AA szintű követelménye. Azok számára, akik komponens könyvtárakat építenek, egyértelművé teszi, hogy milyen EM értékek hozzák létre a kívánt arányokat. Bármely, Figma terveket éles CSS-re fordító fejlesztő számára jelentősen felgyorsítja az átalakítási munkafolyamatot.
A képletek a W3C CSS Értékek és Egységek Modul specifikációján alapulnak, biztosítva, hogy a konverziók pontosan megfeleljenek annak, ahogyan a böngészők ténylegesen kiszámítják ezeket az értékeket.