Sodobni CSS je dodal funkcije in lastnosti, ki nadomestijo cele kategorije medijskih poizvedb in JavaScript trikov. Izpostavljeni::
clamp() — tekoče, omejene vrednosti
h1 { font-size: clamp(, , ); }
Sodobni CSS je dodal funkcije in lastnosti, ki nadomestijo cele kategorije medijskih poizvedb in JavaScript trikov. Izpostavljeni::
h1 { font-size: clamp(, , ); }
clamp(min, preferred, max) daje tekoče tipografijo/razmike, ki se gladko prilagajajo glede na velikost vidnega področja, vendar ostanejo v mejah — nadomešča več mejnih točk vrednosti font-size medijskih poizvedb z eno vrstico.
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
Prej je ohranjanje odzivnega polja 16:9 zahtevalo znani trik padding-bottom: 56.25%. Sedaj je to ena izjava — in rezervira prostor (dobro za CLS) pred nalaganjem slik.
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() izbereta manjšo/večjo vrednost, kar omogoči, da je ena lastnost odzivna brez medijske poizvedbe (npr. "90% široka, vendar nikoli več kot 1200px").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid omogoči ugnezdeni mreži, da podeduje črte sledi svojega starša, zato se elementi čez različne kartice (naslovi, telesa, gumbi) popolnoma poravnajo na skupnih vrstah — prej nemogoče brez fiksnih višin.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
Te lastnosti izločijo dolgoletne trike: clamp()/min()/max() nadomestijo kupe medijskih poizvedb za tekoče velikosti, aspect-ratio nadomesti trik s podstavkom in zaščiti premik postavitve, ter subgrid rešuje poravnavo med komponentami.
Naredijo odzivne, proporcionalne postavitve dramatično preprostejše in bolj robustne — sodobni CSS deklarativno naredi to, kar je pred tem zahtevalo JS ali krhke trike.