What used to be Vue/JS — now often CSS
-
Container queries
Component responds to its container width, not the viewport.
-
:has()and:focus-withinParent styling from child state without toggling classes.
-
Popover + anchor positioning
Layered menu tied to a button with
anchor-name/position-anchor. -
<details>+ discrete transitionsAnimated disclosure with
@starting-style/allow-discretewhere supported. -
Scroll-driven animations
Scroll-linked motion via
animation-timeline: view(). -
Reading progress bar
Top-of-page scroll indicator with
scroll(root block)—no JS. -
View Transitions Hybrid
Same-document transition with
document.startViewTransition. -
View Transitions between pages MPA
Cross-document transition with
@view-transition { navigation: auto; }. -
light-dark()+color-schemeSystem light/dark colors without duplicated media queries.
-
oklch+color-mix()Perceptual colors and variants from one token.
-
clamp()fluid typeFluid typography without resize listeners.
-
progress()interpolationMap
100vwbetween two lengths to a bar width (with@supportsfallback). -
Custom Highlight API Hybrid
Search highlights with
::highlight()+ minimal JS. -
@layerOrdered cascade slices for design systems.