Moderna CSS har lagt till funktioner och egenskaper som ersätter hela kategorier av mediefrågor och JavaScript-trick. De viktigaste:
clamp() — flytande, begränsade värden
h1 { font-size: clamp(, , ); }
Moderna CSS har lagt till funktioner och egenskaper som ersätter hela kategorier av mediefrågor och JavaScript-trick. De viktigaste:
h1 { font-size: clamp(, , ); }
clamp(min, preferred, max) ger flytande typografi/avstånd som skalas smidigt med viewport men förblir inom gränser — ersätter flera brytpunkters värda font-size-mediefrågor med en rad.
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
Tidigt krävdes det berömda padding-bottom: 56.25%-tricket för att behålla en responsiv 16:9-ruta. Nu är det en deklaration — och det reserverar utrymme (bra för CLS) innan bilder laddas.
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() väljer det mindre/större värdet, vilket låter en egenskap vara responsiv utan en mediefråga (t.ex. "90% bred, men aldrig mer än 1200px").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid låter ett kapslat rutnät ärva sina förälders spårlinjer, så objekt över separata kort (titlar, brödtexter, knappar) justeras perfekt på delade rader — tidigare omöjligt utan fasta höjder.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
Dessa egenskaper eliminerar långvariga trick: clamp()/min()/max() ersätter högar av mediefrågor för flytande storlek, aspect-ratio ersätter utfyllnadstricket och skyddar layoutförskjutning, och subgrid löser justering mellan komponenter.
De gör responsiva, proportionella layouter dramatiskt enklare och mer robusta — moderna CSS gör deklarativt det som tidigare krävde JS eller skört trick.