Volume 2
What happens when
you push it?
Volume 1 showed the basics. This one pushes every feature to its creative limits and adds the capabilities we skipped: color-mix, view transitions, anchor positioning, cascade layers, CSS nesting, and discrete animations.
oklch() Pushed
Animated hue. Generative everything.
What if your whole UI slowly shifts hue over time? Or you derive shadows, borders, glows, and gradients — all from one number?
Gradient Card
Hue offset: +0°
Complement Card
Hue offset: +180°
Triadic Card
Hue offset: +120°
color-mix()
Blend any two colors. In CSS. Natively.
Blend two colors at any ratio without Sass, without JavaScript, without design tokens. Create hover states, disabled states, overlays — all derived live.
color-mix(in oklch, pink 50%, teal 50%)
Practical: derive states from one color
@starting-style Extremes
Eight transition types. Pure CSS.
Volume 1 showed a simple fade-up. But @starting-style supports any transition — spring, elastic, flip, morph, blur. Each card below uses a different entry animation, all CSS-only.
Scroll-Driven Pushed
3D rotation, morphing, orchestration.
Beyond simple reveals — what if scroll drives 3D perspective shifts, shape morphing, staggered orchestration, and clip-path reveals?
3D Perspective Rotation (scroll-linked)
Analytics
Rotates from -25° to 0° as you scroll into view
Workforce
Rotates from -25° to 0° as you scroll into view
Knowledge
Rotates from -25° to 0° as you scroll into view
Shape + Color Morph (scroll-linked)
Clip-path horizontal reveal (scroll-linked)
This sentence reveals left-to-right as you scroll.
Using clip-path: inset() animated by scroll position. No JavaScript.
Skew entrance (staggered)
Plan interventions
Track skill progress
Measure real outcomes
Close capability gaps
:has() State Machine
Combinatorial styling. No JavaScript.
What if the parent reacts not just to one child state, but to combinations of states? Pure CSS checkboxes drive a visual state machine — each combination produces a unique appearance.
Discrete Animations
Animate display:none. The impossible.
CSS could never animate display: none to display: block. Now it can. Combined with @starting-style, you get CSS-only modals with real entry/exit animations — no React portal hacks, no animation libraries.
transition-behavior: allow-discrete makes the impossible possible.CSS-Only Modal
No React portals needed
This modal has a blurred backdrop, spring-in animation, and smooth exit — all handled by CSS transitions with allow-discrete and @starting-style. Click outside to close.
Three More Powers
Nesting, layers, anchor positioning.
CSS Nesting
Native Sass-like nesting. No preprocessor. No build step.
Cascade Layers
Explicit specificity control. Eliminates !important wars forever.
Anchor Positioning
Tooltips and popovers that follow elements. Replaces Floating UI / Popper.
End of Volume 2
The gap between
possible and shipped
has never been wider.
Everything on this page runs in the browser today. No polyfills. No libraries. No build complexity. The tools are waiting. The question is not what CSS can do — it is what you will do with it.