Ripple effect
Expand a translucent circle from the pointer-down origin to connect touch and response.
Clip the ripple to the control and let the state change remain visible after the circle fades.
animation: ripple 450ms ease-out;Spatial feedback
Spatial and physics-inspired effects can clarify depth, origin, and relationship when they are tied to a real state change. They also cost more attention and rendering work, so they need a stronger reason than ordinary hover or status feedback.
Pattern examples
Hover, focus, press, or toggle the specimens. Each recipe keeps the durable state in semantic markup and uses animation as a supporting layer.
Expand a translucent circle from the pointer-down origin to connect touch and response.
Clip the ripple to the control and let the state change remain visible after the circle fades.
animation: ripple 450ms ease-out;Rotate between two related faces when front and back are a meaningful model.
Use an explicit button on production cards; hover-only flipping is inaccessible on touch and can trigger accidentally.
transform-style: preserve-3d;
transition: transform 400ms ease-out;Pull a small decorative layer toward the pointer while the hit target remains still.
Never move the actual target away from the cursor, and disable the effect on touch or reduced motion.
transform: translate3d(var(--pointer-x), var(--pointer-y), 0);Reveal a short action label beside an icon when extra context becomes useful.
Reserve room or overlay the expansion so nearby controls do not shift under the pointer.
transition: inline-size 220ms ease-out;Bring content in once as it enters the viewport to guide reading order.
Render content visible by default, then enhance it after JavaScript starts so failure never hides the page.
transition: opacity 300ms ease-out, transform 300ms ease-out;Use one elastic pulse to confirm a favorite or like state.
Persist the selected state with fill, label, or pressed semantics after the pulse ends.
animation: heart-pulse 260ms cubic-bezier(.34, 1.56, .64, 1);Implementation check
Test keyboard focus, touch, reduced motion, slow work, failure, repeated activation, and the final resting state. A robust interaction remains understandable when every transition is removed.
@media (prefers-reduced-motion: reduce) {
.motion {
animation: none;
transform: none;
transition-duration: 0.01ms;
}
}Continue the reference
Compare the neighboring feedback patterns before choosing an effect.
Map the components and states around these interactions, then generate the project structure from one visual workspace.
We'd like to use Google cookies to understand how Nodlume is used and to measure our advertising. Nothing loads until you choose, and declining does not affect anything in the app.