Šiuolaikinis CSS pridėjo funkcijas ir savybes, kurios pakeičia dideles media-query ir JavaScript gudruolių kategorijas. Išsiskiriantys:
clamp() — sklandžios, ribojamos reikšmės
{ : (, , ); }
Šiuolaikinis CSS pridėjo funkcijas ir savybes, kurios pakeičia dideles media-query ir JavaScript gudruolių kategorijas. Išsiskiriantys:
{ : (, , ); }
clamp(min, preferred, max) suteikia sklandžią tipografiją/tarpus, kurie sklandžiai keičiasi su rodinio dydžiu, bet išlieka ribose — pakeičiant kelių tūpiklių font-size media užklausas viena eilute.
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
Prieš tai, saugant atsakomingą 16:9 laukelį, reikėjo žinomo padding-bottom: 56.25% triuko. Dabar tai viena deklaracija — ir ji rezervuoja vietą (gerai CLS) prieš įkeliant vaizdulius.
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() pasirenka mažesnę/didesnę iš reikšmių, leidžiant vienai savybei būti atsakomingai be media užklausos (pvz., "90% plati, bet ne daugiau nei 1200px").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid leidžia įdėtam tinkleliui paveldėti jo tėvinio takelių linijas, todėl elementai keliuose kortelėse (antraštės, kūnai, mygtukai) puikiai sulygiuoti bendrose eilutėse — anksčiau tai buvo neįmanoma be fiksuotų aukščių.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
Šios savybės eliminuoja ilgai naudotus triukus: clamp()/min()/max() pakeičia media užklausų krūvas sklandžiam dydžiui, aspect-ratio pakeičia padding triuką ir apsaugo maketą nuo poslinkio, o subgrid sprendžia tarpkomponentinį sulygiavimą.
Jie daro atsakomagus, proporcingus maketavimus drastiškai paprastesnius ir patikimesnius — šiuolaikinis CSS deklaratyviai daro tai, kas anksčiau reikėjo JS arba trapių gudruolių.