A modern CSS olyan funkciókat és tulajdonságokat adott hozzá, amelyek a média-lekérdezés és JavaScript trükkök teljes kategóriáit helyettesítik. A kiemelkedőek:
clamp() — folyékony, korlátozott értékek
h1 { font-size: (, , ); }
A modern CSS olyan funkciókat és tulajdonságokat adott hozzá, amelyek a média-lekérdezés és JavaScript trükkök teljes kategóriáit helyettesítik. A kiemelkedőek:
h1 { font-size: (, , ); }
clamp(min, preferred, max) folyékony tipográfiát/térközöt biztosít, amely gördülékenyen skálázódik a nézőponttal, de a határokon belül marad — több breakpoint font-size médiafigyelő-lekérdezést egyetlen sorral helyettesít.
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
Ezután a reszponzív 16:9 doboz fenntartásához az ismert padding-bottom: 56.25% trükk szükséges volt. Most egyetlen deklaráció — és a képek betöltése előtt terület fenntartja (jó a CLS-hez).
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() az általában/nagyobb értéket választják, lehetővé téve az egyik tulajdonság reszponzívá válást média-lekérdezés nélkül (pl. "90% széles, de soha nem több mint 1200px").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid lehetővé teszi a beágyazott rács számára, hogy öröklödje szülőjének nyomvonali soraikat, így a külön kártyák közötti elemek (címek, test, gombok) tökéletesen igazodnak a megosztott sorokhoz — korábban rögzített magasság nélkül lehetetlen.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
Ezek a funkciók kiküszöbölnek hosszú ideig fennálló trükkök: clamp()/min()/max() a folyékony méretezéshez szükséges médiafigyelő-lekérdezések kötegeit helyettesítik, aspect-ratio helyettesíti a padding trükköt és védi az elrendezés eltolódásától, és subgrid megoldja az összetevők közötti igazítást.
Az elrendezéseket drámaian egyszerűbbé és robusztusabbá teszik — a modern CSS deklaratív módon azt teszi, amelyre korábban JS vagy törékeny trükkök voltak szükségesek.