ToolDeck

CSS Unit Converter

Převádějte CSS jednotky mezi px, rem, em, vw, vh a %

px16
rem1
em1
vw1.111111
vh1.777778
%100
pt12
cm0.4233331
mm4.233331
in0.1666667
Vyzkoušejte také:CSS FormatterCSS Minifier

Co je převod CSS jednotek?

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.

JednotkaNázevVýchozí velikostRelativní k
pxPixel1pxFixed; 1px = 1/96 of 1in on screens
remRoot em16px (default)Relative to <html> font-size
emEmInheritedRelative to parent element font-size
vwViewport width1% of viewportRelative to browser window width
vhViewport height1% of viewportRelative to browser window height
%PercentageVariesRelative to parent property value
ptPoint1.333pxPrint unit; 1pt = 1/72 of 1in
cmCentimeter37.795pxPhysical unit; 1cm = 96px / 2.54
mmMillimeter3.7795pxPhysical unit; 1mm = 1cm / 10
inInch96pxPhysical 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.

pxremptTypické použití
100.6257.5Small caption text
120.759Body text (compact)
140.87510.5Default body text
16112Root font-size (browser default)
181.12513.5Large body text
201.2515H4 heading
241.518H3 heading
32224H2 heading
48336H1 heading
64448Display / 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
Python
# CSS unit converter functions

def px_to_rem(px: float, base: float = 16) -> float:
    return px / base

def rem_to_px(rem: float, base: float = 16) -> float:
    return rem * base

def px_to_vw(px: float, viewport: float = 1440) -> float:
    return (px / viewport) * 100

def px_to_pt(px: float) -> float:
    return px * 72 / 96

print(px_to_rem(24))     # → 1.5
print(rem_to_px(2.5))    # → 40.0
print(px_to_vw(720))     # → 50.0
print(px_to_pt(16))      # → 12.0
CSS (calc & custom properties)
/* Define a base scale using rem */
:root {
  --base: 16px;       /* root font-size */
  --space-1: 0.25rem; /* 4px */
  --space-2: 0.5rem;  /* 8px */
  --space-4: 1rem;    /* 16px */
  --space-8: 2rem;    /* 32px */
}

/* Fluid typography: scales between 1rem (16px) and 2.5rem (40px) */
h1 {
  font-size: clamp(1rem, 2.5vw + 0.5rem, 2.5rem);
}

/* Viewport-relative hero height */
.hero {
  height: calc(100vh - 4rem); /* full viewport minus 64px header */
}

/* Percentage-based grid */
.sidebar { width: 25%; }     /* 360px on 1440px screen */
.content { width: 75%; }     /* 1080px on 1440px screen */
SCSS (mixin)
// Reusable px-to-rem function in Sass
@use "sass:math";

$base-font-size: 16px !default;

@function rem($px) {
  @return math.div($px, $base-font-size) * 1rem;
}

// Usage
.card {
  padding: rem(24px);       // → 1.5rem
  margin-bottom: rem(32px); // → 2rem
  border-radius: rem(8px);  // → 0.5rem
  font-size: rem(14px);     // → 0.875rem
}

Nejčastější dotazy

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ů.