Nowoczesny CSS dodał funkcje i właściwości, które zastępują całe kategorie haków media-query i JavaScript. Najważniejsze:
clamp() — płynne, ograniczone wartości
h1 { font-size: clamp(1.5rem, , ); }
Nowoczesny CSS dodał funkcje i właściwości, które zastępują całe kategorie haków media-query i JavaScript. Najważniejsze:
h1 { font-size: clamp(1.5rem, , ); }
clamp(min, preferred, max) zapewnia płynną typografię/odstępy, która płynnie skaluje się wraz z widokiem, ale pozostaje w granicach — zastępuje kilka font-size media query za jedną linią.
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
Dotychczas utrzymanie responsywnego pudełka 16:9 wymagało słynnego hacka padding-bottom: 56.25%. Teraz to jedno oświadczenie — i rezerwuje miejsce (dobre dla CLS) zanim obrazy się załadują.
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() wybierają mniejszą/większą wartość, umożliwiając jednej właściwości bycie responsywną bez media query (np. "90% szerokości, ale nigdy więcej niż 1200px").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid pozwala zagnieżdżonej siatce dziedziczą linie ścieżek swojego rodzica, więc elementy na oddzielnych kartach (tytuły, treści, przyciski) wyrównują się idealnie na wspólnych wierszach — wcześniej niemożliwe bez stałych wysokości.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
Te funkcje eliminują stare hacki: clamp()/min()/max() zastępują stosy media query dla płynnego rozmiaru, aspect-ratio zastępuje hack padding i chroni przed przesunięciem układ, a subgrid rozwiązuje wyrównanie między komponentami.
Czynią responsywne, proporcjonalne układy dramatycznie prostszymi i bardziej niezawodnymi — nowoczesny CSS robi deklaratywnie to, co wcześniej wymagało JS lub kruchych sztuczek.