Převodník CSS jednotek je nástroj, který překládá hodnoty délek mezi různými CSS systémy měření. CSS definuje přes tucet délkových jednotek rozdělených do dvou skupin: absolutní jednotky jako px, pt, cm a in, které odpovídají pevným fyzickým mírám, a relativní jednotky jako rem, em, vw, vh a %, které závisí na kontextu, například na velikosti písma nebo rozměrech viewportu.
Prohlížeče při vykreslování převádějí všechny CSS délky na pixely. Když napíšete 1.5rem, prohlížeč vynásobí 1,5 kořenovou velikostí písma (obvykle 16px) a dostane 24px. Když napíšete 50vw, vezme polovinu aktuální šířky viewportu. Pochopení těchto vztahů je nezbytné pro tvorbu layoutů, které se přizpůsobují různým zařízením a respektují uživatelská nastavení, jako jsou vlastní velikosti písma nastavené v prohlížeči.
Specifikace CSS Values and Units Module Level 4 (W3C) definuje přesné převodní poměry mezi všemi absolutními jednotkami: 1in = 96px = 72pt = 2.54cm = 25.4mm. Relativní jednotky nemají pevný poměr, protože závisí na kontextu za běhu. Bezplatný převodník CSS jednotek vám umožní tyto vztahy okamžitě vypočítat pro vaši konkrétní kořenovou velikost písma a rozměry viewportu, bez psaní jakéhokoli kódu.
Proč použít převodník CSS jednotek?
Ruční převod mezi CSS jednotkami znamená pamatovat si poměry, vytáhnout kalkulačku a dvakrát kontrolovat výpočet. Tento nástroj provede převod ve vašem prohlížeči bez jakékoli námahy.
⚡
Okamžitý převod
Zadejte hodnotu, vyberte zdrojovou jednotku a získejte výsledky ve všech 10 CSS jednotkách najednou. Není třeba provádět samostatné výpočty pro px-na-rem, px-na-vw nebo px-na-pt.
🔒
Vaše data zůstávají soukromá
Veškeré převody probíhají lokálně ve vašem prohlížeči. Žádné hodnoty nejsou odesílány na server, logovány ani ukládány. Zavřete záložku a data jsou pryč.
🎯
Přesně váš kontext
Nastavte kořenovou velikost písma, šířku viewportu, výšku viewportu a nadřazenou velikost písma. Převodník tyto hodnoty použije k výpočtu přesných výsledků pro jednotky rem, em, vw, vh a %.
📏
Pokrytí všech CSS délkových jednotek
Podporuje px, rem, em, vw, vh, %, pt, cm, mm a in. Ať pracujete s layouty pro obrazovku, stylesheety pro tisk nebo responzivní typografií, každá jednotka je pokryta.
Případy použití převodníku CSS jednotek
Frontend vývoj
Převeďte pixelové hodnoty z návrhového souboru na rem pro knihovnu komponent. Když Figma mockup určuje rozestup 24px, převeďte ho na 1.5rem, aby se layout přizpůsoboval preferované velikosti písma uživatele.
Backend a full-stack vývoj
Generujte šablony PDF nebo e-mailů, kde jsou rozměry zadány v pt nebo cm. Převeďte pixelové hodnoty CSS na tiskové bodové velikosti pro serverové vykreslování nástroji jako Puppeteer nebo wkhtmltopdf.
DevOps a CI pipeline
Ověřte, že tokeny mezer design systému používají konzistentní jednotky napříč kroky sestavení. Rychle zkontrolujte, že základ 16px produkuje očekávané hodnoty rem ve vygenerovaném CSS.
QA a vizuální testování
Ověřte vypočítané styly při testování v různých prohlížečích. Když Chrome DevTools zobrazí vypočítanou hodnotu 14.4px, převeďte ji na rem a potvrďte, že odpovídá očekávaným 0.9rem ze stylesheetu.
Datová vizualizace
Nastavte velikost SVG nebo canvas prvků relativně k rozměrům viewportu. Převeďte pevné pixelové šířky grafů na jednotky vw, aby vizualizace vyplňovaly konzistentní procento obrazovky na různých monitorech.
Výuka CSS
Pochopte vztah mezi rem, em a px experimentováním s různými základními velikostmi. Změňte kořenovou velikost písma z 16px na 18px a sledujte, jak se každá hodnota rem posune.
Referenční tabulka CSS délkových jednotek
CSS definuje 10 běžně používaných délkových jednotek. Absolutní jednotky mají pevný převod na pixely. Relativní jednotky závisí na kontextu: kořenová velikost písma pro rem, nadřazená velikost písma pro em a viewport prohlížeče pro vw a vh.
Jednotka
Název
Výchozí velikost
Relativní k
px
Pixel
1px
Fixed; 1px = 1/96 of 1in on screens
rem
Root em
16px (default)
Relative to <html> font-size
em
Em
Inherited
Relative to parent element font-size
vw
Viewport width
1% of viewport
Relative to browser window width
vh
Viewport height
1% of viewport
Relative to browser window height
%
Percentage
Varies
Relative to parent property value
pt
Point
1.333px
Print unit; 1pt = 1/72 of 1in
cm
Centimeter
37.795px
Physical unit; 1cm = 96px / 2.54
mm
Millimeter
3.7795px
Physical unit; 1mm = 1cm / 10
in
Inch
96px
Physical unit; 1in = 96px (CSS spec)
Absolutní vs. relativní CSS jednotky
Volba mezi absolutními a relativními jednotkami ovlivňuje, jak se váš layout přizpůsobuje různým obrazovkám a uživatelským nastavením. Každá skupina má odlišné kompromisy.
Absolutní jednotky (px, pt, cm, mm, in)
Absolutní jednotky produkují stejnou fyzickou velikost bez ohledu na kontext. Použijte px pro ohraničení, stíny a prvky, které se nemají přizpůsobovat. Použijte pt pro tiskové stylesheety. CSS specifikace definuje 1in = 96px, ačkoli skutečná fyzická velikost závisí na DPI displeje.
Relativní jednotky (rem, em, vw, vh, %)
Relativní jednotky se přizpůsobují svému referenčnímu kontextu. Použijte rem pro velikosti písma a rozestupy, aby byla respektována uživatelská nastavení. Použijte em pro interní škálování komponent (odsazení relativní k vlastní velikosti písma prvku). Použijte vw/vh pro layouty vyplňující viewport, jako jsou hero sekce.
Tabulka běžných převodů px na rem
Tato tabulka předpokládá kořenovou velikost písma 16px (výchozí nastavení prohlížeče). Pokud váš projekt používá jiný základ, vydělte pixelovou hodnotu vaším základem a získáte ekvivalent v rem.
px
rem
pt
Typické použití
10
0.625
7.5
Small caption text
12
0.75
9
Body text (compact)
14
0.875
10.5
Default body text
16
1
12
Root font-size (browser default)
18
1.125
13.5
Large body text
20
1.25
15
H4 heading
24
1.5
18
H3 heading
32
2
24
H2 heading
48
3
36
H1 heading
64
4
48
Display / hero text
Příklady kódu
Tyto příklady ukazují, jak programově převádět CSS jednotky v JavaScriptu, Pythonu, CSS vlastních vlastnostech a Sassu.
JavaScript
// px to rem (given root font-size of 16px)
const pxToRem = (px, base = 16) => px / base
pxToRem(24) // → 1.5
// rem to px
const remToPx = (rem, base = 16) => rem * base
remToPx(1.5) // → 24
// px to vw (given viewport width of 1440px)
const pxToVw = (px, viewport = 1440) => (px / viewport) * 100
pxToVw(360) // → 25
// Dynamic calculation using getComputedStyle
const rootFontSize = parseFloat(
getComputedStyle(document.documentElement).fontSize
) // → 16 on most browsers
Jaká je výchozí kořenová velikost písma v prohlížečích?
Všechny hlavní prohlížeče (Chrome, Firefox, Safari, Edge) mají výchozí kořenovou velikost písma 16px. To znamená, že 1rem = 16px, pokud uživatel nebo stylesheet nepřepíše velikost písma elementu html. Někteří uživatelé ji zvyšují v nastavení prohlížeče kvůli přístupnosti, proto je rem lepší výchozí volbou pro text než px.
Jak převést px na rem?
Vydělte pixelovou hodnotu kořenovou velikostí písma. S výchozím základem 16px: 24px / 16 = 1.5rem. Pokud váš projekt nastavuje html {font-size: 10px} (běžný reset), pak 24px / 10 = 2.4rem. Vzorec je vždy: rem = px / kořenová-velikost-písma.
Jaký je rozdíl mezi rem a em?
rem je relativní k velikosti písma kořenového elementu (tag html), zatímco em je relativní k velikosti písma nadřazeného elementu aktuálního prvku. To znamená, že rem produkuje konzistentní velikost napříč celou stránkou, zatímco em se při zanořování násobí. 2em uvnitř nadřazeného prvku 2em se stane 4× kořenovou velikostí. Použijte rem pro globální rozestupy a velikosti písma; použijte em, když chcete, aby se velikost přizpůsobovala vlastnímu textu komponenty.
Kdy mám použít jednotky vw nebo vh?
Použijte vw pro prvky, které se mají přizpůsobovat šířce okna prohlížeče, jako jsou hero sekce na celou šířku nebo plynulá typografie (clamp s vw). Použijte vh pro sekce na celou obrazovku nebo layouty s výškou viewportu. Na mobilních prohlížečích buďte opatrní s vh, protože adresní lišta mění výšku viewportu; novější jednotka dvh (dynamic viewport height) tento problém řeší.
Mohu v jedné vlastnosti kombinovat různé CSS jednotky?
Ano. Funkce CSS calc() umožňuje kombinovat libovolné jednotky v jednom výrazu. Například width: calc(100vw - 2rem) odečte 32px (při výchozím základu) od celé šířky viewportu. Jednotky lze také kombinovat v clamp(): font-size: clamp(1rem, 2vw + 0.5rem, 2.5rem) vytváří plynulou typografii, která se přizpůsobuje mezi 16px a 40px.
Kolik pixelů je 1pt v CSS?
V CSS je 1pt = 1/72 palce a 1 palec = 96px, tedy 1pt = 96/72 = 1,333px. Tento poměr je pevně stanoven v CSS specifikaci bez ohledu na DPI obrazovky. Body se primárně používají v tiskových stylesheetech a pro generování PDF. Pro design pro obrazovky jsou lepší volbou px nebo rem.
Je reset font-size na 62,5 % stále dobrou praxí?
Nastavení html {font-size: 62.5%} způsobí, že 1rem = 10px, což zjednodušuje mentální výpočty (24px = 2.4rem). Nicméně vyžaduje explicitní nastavení font-size na elementu body a může způsobovat problémy s komponentami třetích stran, které předpokládají výchozí základ 16px. Moderní preference je zachovat výchozích 16px a místo toho použít funkci Sass nebo plugin PostCSS pro zpracování převodů.