CSS3 @keyframesRules
Example
Make a div element gradually move 200 pixels:
{
from {top:0px;}
to {top:200px;}
}
@-webkit-keyframes mymove /* Safari and Chrome */
{
from {top:0px;}
to {top:200px;}
}
Try it Yourself »
More examples at the bottom of this page.
Browser Support
| Property | |||||
|---|---|---|---|---|---|
| @keyframes | 43.0 4.0 -webkit- |
10.0 | 16.0 5.0 -moz- |
9.0 4.0 -webkit- |
30.0 15.0 -webkit- 12.0 -o- |
Tag definition and usage instructions
Using the @keyframes rule, you can create animations.
Creating an animation is done by gradually changing from one CSS style setting to another.
During the animation, you can change the CSS style settings multiple times.
Use %, or the keywords "from" and "to", to specify when changes occur, which are the same as 0% to 100%.
0% is the beginning of the animation, 100% is when the animation is complete.
For the best browser support, you should always define the 0% and 100% selectors.
Note:Use the animation property to control the appearance of the animation, and also use the selector to bind the animation.
Syntax
| Value | Description |
|---|---|
| animationname | Required. Defines the name of the animation. |
| keyframes-selector | Required. The percentage of the animation duration. Valid Values: 0-100% Note:You can use an animation keyframes-selectors. |
| css-styles | Required. One or more legal CSS style properties. |
Online Examples
Example
Add an animation to multiple keyframe selectors:
{
0% {top:0px;}
25% {top:200px;}
50% {top:100px;}
75% {top:200px;}
100% {top:0px;}
}
@-webkit-keyframes mymove /* Safari and Chrome */
{
0% {top:0px;}
25% {top:200px;}
50% {top:100px;}
75% {top:200px;}
100% {top:0px;}
}
Try it Yourself »
Example
Change many CSS styles in one animation:
{
0% {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}
@-webkit-keyframes mymove /* Safari and Chrome */
{
0% {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}
Try it Yourself »
Example
Many keyframe selectors with many CSS styles:
{
0% {top:0px; left:0px; background:red;}
25% {top:0px; left:100px; background:blue;}
50% {top:100px; left:100px; background:yellow;}
75% {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}
@-webkit-keyframes mymove /* Safari and Chrome */
{
0% {top:0px; left:0px; background:red;}
25% {top:0px; left:100px; background:blue;}
50% {top:100px; left:100px; background:yellow;}
75% {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}
Try it Yourself »
Related Articles
CSS3 tutorial: CSS3 Animations
other extensions