Jump to: navigation, search


This article is Ready to Use.

W3C Working Draft


Shorthand property to define a CSS animation, setting all parameters at once.

Overview table

Initial value See individual properties.
Applies to All elements, ::before and ::after pseudo-elements.
Inherited No
Media visual
Computed value See individual properties.
Animatable No
CSS Object Model Property
Percentages See individual properties.



single-animation [, single-animation]*
A list of values for each of the individual animation properties. The animation name and duration are required; all other values are optional. Multiple animations can be assigned as a comma-separated list.
Value of the animation-name property.
Value of the animation-duration property.
Value of the animation-timing-function property.
Value of the animation-delay property.
Value of the animation-iteration-count property.
Value of the animation-direction property.
Value of the animation-fill-mode property.

Note: The first <time> value is assigned to the animation-duration. The second <time> value is assigned to the animation-delay.


See animation-play-state for an example that uses the animation shorthand property.


nav.expanded > div.selected {
    animation: pulse 1s infinite;

View live example


 The animation shorthand property combines all animation properties except animation-play-state in a single declaration. The name and duration of the animation are required, but all other values are optional. When two <time> values are supplied, the first is assigned to the duration, and the second to the delay.

Values for a single animation are separated by spaces. Multiple animations can be assigned as a comma-separated list.


Before the advent of CSS3, most animations were performed by using Javascript to move HTML DOM elements. This was not optimal, as the browser would not know anything about the DOM element it was moving until it executed the Javascript which moved it, making hardware accelerating animations difficult for vendors. So, CSS3's animation module was born.

This module allows browser vendors to better support animations with hardware acceleration, especially important on CPU constrained devices such as mobile devices. Because the browser controls the inbetween state, or tween as it is more commonly known, between two animation states, it can fully hardware accelerate the resultant animation. This leads to lower CPU usage, smoother graphics and less battery intensive web pages on mobile devices.

Animations use keyframes to specify points of animation and timing to state when those keyframes should appear. Those keyframes exist in a separate @keyframes section in the CSS. The browser automatically handles the "tween" between each keyframe property. Animation is a shorthand property that defines all the properties of an animation in a single declaration. Animation applies to all elements. See the keyframes section linked above for a list of properties that can be animated.

Also, see this CSS animations tutorial.

Related specifications

Specification Status Related Changes
CSS Animations W3C Working Draft

See also

Other articles


This article contains content originally from external sources.

Portions of this content come from the Microsoft Developer Network: Windows Internet Explorer API reference Article