Podaj szerokosc viewport i natychmiast sprawdz, ile pikseli ma 5 vw na telefonie, tablecie lub Full HD – klucz do fluid typography z clamp().

vw (viewport width) to jednostka CSS równa 1% szerokości okna przeglądarki. Na ekranie 1 920 px szerokości: 1 vw = 19,2 px, 50 vw = 960 px, 100 vw = 1 920 px.
vw jest używane do tworzenia responsywnych układów – elementy skalują się proporcjonalnie do okna przeglądarki. Przydaje się do pełnoekranowych sekcji, nagromadzonych tytułów i elastycznych marginów.
Uwaga: 100 vw uwzględnia pasek przewijania, co może powodować poziomy scroll. Zamiast width: 100vw lepiej użyć width: 100% na blokach.
Istnieje też vh (viewport height): 1 vh = 1% wysokości okna. Oraz dvh/svh/lvh (dynamic/small/large viewport height) – uwzględniające pasek adresu na urządzeniach mobilnych.
Jednostka vw (viewport width) w CSS odpowiada jednej setnej szerokości okna przeglądarki. Oznacza to, że 100 vw to pełna szerokość okna, a 50 vw to połowa. Aby przeliczyć vw na piksele, wystarczy pomnożyć wartość vw przez szerokość okna i podzielić przez 100.
Na przykład na ekranie o szerokości 1920 px wartość 50 vw to 960 px, a 25 vw to 480 px. Na mniejszym ekranie (np. 375 px na telefonie) te same 50 vw to zaledwie 187,5 px — dlatego elementy z jednostkami vw automatycznie skalują się do rozmiaru ekranu.
Jednostka vw jest szczególnie przydatna w projektowaniu responsywnym do definiowania szerokości kontenerów, rozmiarów czcionek i pełnoekranowych sekcji. Konwerter pozwala ustawić dowolną szerokość okna.
font-size: clamp(1rem, 3vw, 2.5rem).| Cecha | vw (viewport width) | px (piksele) |
|---|---|---|
| Typ | Relatywna (% okna) | Absolutna |
| Responsywność | Automatyczna | Stała wartość |
| Na 1920 px | 1 vw = 19,2 px | 1 px = 0,052 vw |
| Na 375 px | 1 vw = 3,75 px | 1 px = 0,267 vw |
| Użycie | Układy, fluid type | Precyzyjne wymiary |
50 vw x 1920 / 100 = 960 px. Na telefonie (375 px): 50 vw = 187,5 px. Na tablecie (768 px): 50 vw = 384 px. Dlatego vw jest idealne do elementow, ktore maja zajmowac procent szerokosci ekranu – skaluja sie automatycznie.
100 vw obejmuje cala szerokosc viewport lacznie z paskiem przewijania (ok. 15–17 px na desktopie). Gdy zawartosc strony ma 100 vw, a pasek zajmuje czesc szerokosci, pojawia sie poziomy scroll. Uzywaj width: 100% na elementach blokowych zamiast width: 100vw.
font-size: clamp(1rem, 3vw, 2.5rem) – tekst rosnie z ekranem (3 vw), ale nie spada ponizej 1 rem (16 px) i nie przekracza 2,5 rem (40 px). To najlepsza praktyka fluid typography – automatyczne skalowanie bez media queries dla typowych zakresow ekranow.
vw odnosi sie do szerokosci okna przegladarki – jest stale niezaleznie od zagniezdzenia elementow. % odnosi sie do szerokosci elementu nadrzednego – zmienia sie w zaleznosci od kontekstu. 50 vw zawsze to polowa okna, 50% to polowa rodzica.
Nowe jednostki CSS (2023) uwzgledniajace dynamiczny pasek adresu przegladarki na mobile: svh (small viewport height – gdy pasek jest widoczny), lvh (large viewport height – gdy pasek jest schowany), dvh (dynamic – aktualna wartosc). Rozwiazuja problem 100vh na iOS Safari.
Tak. Na iPhone 14 (390 px): 1 vw = 3,9 px. Na iPadzie (768 px): 1 vw = 7,68 px. Na Full HD (1920 px): 1 vw = 19,2 px. Elementy z vw automatycznie skaluja sie do rozmiaru ekranu bez dodatkowych media queries.
Marginesy w vw tworza plynny layout: padding: 0 5vw daje 96 px na Full HD i 19 px na iPhone 14. To eleganckie rozwiazanie zamiast wielu media queries. Dla lepszej kontroli dodaj clamp(): padding: 0 clamp(1rem, 5vw, 5rem) – margines nie bedzie ani za maly, ani za duzy.
Typowy kontener tresci ma max-width 1200–1440 px z marginesami 5–8 vw po bokach. Na ekranie 1920 px: 8 vw = 153 px z kazdej strony, wiec obszar tresci = 1920 – 306 = 1614 px. Przy max-width 1200 px kontener jest wycentrowany niezaleznie od szerokosci ekranu.

Masz pomysł na nową funkcję, znalazłeś błąd lub chcesz zaproponować inne narzędzie? Napisz do nas – odpowiadamy w ciągu 24 godzin.