animation‑composition Demo - Online Blend Multiple Animations
See how `animation‑composition: replace, add, accumulate` works by layering animations on the same property. Understand the spec.
UD5 Toolkit
Complete reference of all CSS properties that can be animated with transitions & keyframes
No matching properties found
Try adjusting your search or filter criteria
transition) and CSS animations (@keyframes). The interpolation type varies—numeric values are mathematically interpolated, colors are blended in a specific color space, and discrete properties jump between values at keyframe boundaries. Properties like opacity, transform, color, and width are classic examples.
display (traditionally—though transition-behavior: allow-discrete now enables it in modern browsers), content, cursor, direction, float, font-family (discrete jump), overflow, position, text-align, white-space, and most layout-defining properties. These properties either have no meaningful intermediate states or would cause reflow issues during interpolation. Always check this cheatsheet or MDN documentation before building animations.
visibility: visible → visibility: hidden flips at exactly the 50% mark in a keyframe animation—there's no "half-visible" state. Discrete properties work in @keyframes animations but not in traditional CSS transitions (unless you use transition-behavior: allow-discrete, a newer CSS feature). Examples include visibility, mix-blend-mode, paint-order, and scroll-behavior.
display is not animatable and cannot be used in transitions. However, modern CSS (Chrome 117+, Edge 117+, Safari 18+) now supports transition-behavior: allow-discrete, which enables discrete properties like display to participate in transitions alongside @starting-style. Even with this, the animation is a discrete jump at the transition's endpoint, not a smooth fade. For smooth show/hide effects, it's still recommended to animate opacity and visibility with a transition, and optionally set display after the transition ends.
opacity (fade effects), transform (translate, scale, rotate for movement and scaling), color / background-color (color transitions), box-shadow (shadow depth effects), width / height (size changes), border-radius (shape morphing), filter (blur, brightness effects), and margin / padding (spacing adjustments). These properties are GPU-accelerated in many cases (especially opacity and transform), making them ideal for smooth 60fps animations.
color-interpolation-filters or by using color functions like oklch() and oklab() which interpolate perceptually. You can also use the @color-profile at-rule for advanced color management. Properties like color, background-color, border-color, box-shadow (color part), and caret-color all use color interpolation.
transition) animate a property from its current value to a new value when a state change occurs (e.g., :hover, class toggle). They're reactive—triggered by an event. CSS Animations (@keyframes + animation) allow you to define complex multi-step sequences that can loop, auto-play on page load, and control intermediate states at precise percentages. Animations support discrete properties (visibility jumps at keyframes), while transitions traditionally only support interpolable properties (unless transition-behavior: allow-discrete is used). Use transitions for simple state changes and animations for complex choreography.
See how `animation‑composition: replace, add, accumulate` works by layering animations on the same property. Understand the spec.
Create CSS animations and transitions without coding. Define keyframes, easing, and duration. Copy the @keyframes and animation code instantly.
Load a sprite sheet, define frames, and play an animation on a canvas. Control frame rate and loop. Game dev tool.
Chain multiple CSS filter functions and see the result on an image. Copy the filter string. No upload.
Try all object‑fit values (fill, contain, cover, scale‑down) on an image. Adjust object‑position. Copy the CSS.
Click on a box to set the transform‑origin point and see how rotations and scales change. Copy the CSS.
Create a reflection effect for images or text using box‑reflect. Adjust direction and offset. Copy the CSS.
Create a looping animated gradient background with multiple color stops. Copy the complete CSS keyframes. Eye‑catching.
Stack multiple background images and blend them with colors. Create unique textures. Copy the CSS code instantly.
Rotate the hue of any image globally. Turn a red car blue instantly. Download the result. Works entirely in the browser.
Preview different touch feedback patterns (scale, color, ripple) for mobile buttons. Copy the CSS and HTML. Improve mobile UX.
Recreate the target CSS linear gradient by adjusting stops and colors. A unique game for front‑end developers to master gradients.
Interactive cheatsheet for JavaScript regular expressions with live examples. Click any token to see its explanation and test it on sample text immediately.
Select emojis and arrange them into a seamless tiling background. Copy the CSS data‑URI or download as image.
Search and copy HTML entities for arrows, math, currency, and symbols. See the glyph and code. Fast reference.
Test how `content‑type: text/html` vs `content‑type: image/svg+xml` affects SVG rendering in the browser. Modern performance hint.
Create and format Markdown tables by adjusting rows and columns. Align text, copy the raw Markdown. Perfect for README files.
Drag the virtual ring to perform multiplication, division, and unit conversions. Rediscover pre‑electronic calculator charm.
Add a soft vignette to your photo. Control radius, darkness, and feathering. Creates a classic photographic look.
Adjust rotateX/Y/Z and translate to see a 3D box in real time. Copy optimized CSS transform.
Generate a subtle noise/grain texture as a CSS background pattern. Adjust opacity and size. For that film look.
Drag pucks onto a digital lane to plan offensive and defensive shots. Practice before your next cruise.
Upload an animated GIF and generate a reversed version. Share the funny backwards motion. Works entirely in your browser via canvas.
Overlay outlines of different paper sizes scaled to real dimensions on screen. Choose the right one.
Automatically remove white background from an image and make it transparent. Adjust tolerance. Save as PNG.
Select a color in an image and change it to another hue. Canvas‑based, local processing.
Upload an image and get its BlurHash string along with a tiny preview. Use for progressive loading. Pure JavaScript.
Enter your bow's draw weight, arrow length, and point weight to find the correct arrow spine. Essential for tuning.
Generate a link to an SVG placeholder image with a custom width, height, and text. Use as dummy image src. No server.
Select an activity, enter your weight and duration, and see the estimated calories burned. Based on MET values.