CSS3 Animations

来源:互联网 发布:凤凰卫视网络电视直播 编辑:程序博客网 时间:2024/06/16 05:25

CSS3 Animations

With CSS3, we can create animations, which can replace animatedimages, Flash animations, and JavaScripts in many web pages.


CSS3
Animation

CSS3 @keyframes Rule

To create animations in CSS3, you will have to learn about the@keyframes rule.

The @keyframes rule is where the animation is created. Specify aCSS style inside the @keyframes rule and the animation willgradually change from the current style to the new style.


Browser Support

PropertyBrowser Support@keyframesanimation

Internet Explorer does not yet support the @keyframes rule or theanimation property.

Firefox requires the prefix -moz-, Chrome and Safari require theprefix -webkit-, and Opera require the prefix -o-.


OperaSafariChromeFirefoxInternet Explorer

Example

@keyframes myfirst
{
from {background: red;}
to {background: yellow;}
}

@-moz-keyframes myfirst
{
from {background: red;}
to {background: yellow;}
}

@-webkit-keyframes myfirst
{
from {background: red;}
to {background: yellow;}
}

@-o-keyframes myfirst
{
from {background: red;}
to {background: yellow;}
}


CSS3 animation

When the animation is created in the @keyframe, bind it to aselector, otherwise the animation will have no effect.

Bind the animation to a selector by specifying at least these twoCSS3 animation properties:

  • Specify the name of the animation
  • Specify the duration of the animation
OperaSafariChromeFirefoxInternet Explorer

Example

Binding the "myfirst" animation to a div element, duration: 5seconds:

div
{
animation: myfirst 5s;
-moz-animation: myfirst 5s;
-webkit-animation: myfirst 5s;
-o-animation: myfirst 5s;
}

Try it yourself »

Note: You must define the name and theduration of the animation. If duration is omitted, the animationwill not run, because the default value is 0.


What are Animations in CSS3?

An animation is an effect that lets an element gradually changefrom one style to another.

You can change as many styles you want, as many times you want.

Specify when the change will happen in percent, or the keywords"from" and "to", which is the same as 0% and 100%.

0% is the beginning of the animation, 100% is when the animation iscomplete.

For best browser support, you should always define both the 0% andthe 100% selectors.

OperaSafariChromeFirefoxInternet Explorer

Example

Change the background color when the animation is 25%, 50%, andagain when the animation is 100% complete:

@keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}

@-moz-keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}

@-webkit-keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}

@-o-keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}

Try it yourself »

OperaSafariChromeFirefoxInternet Explorer

Example

Change the background color and position:

@keyframes myfirst
{
0%   {background: red; left:0px;top:0px;}
25%  {background: yellow; left:200px;top:0px;}
50%  {background: blue; left:200px;top:200px;}
75%  {background: green; left:0px;top:200px;}
100% {background: red; left:0px; top:0px;}
}

@-moz-keyframes myfirst
{
0%   {background: red; left:0px;top:0px;}
25%  {background: yellow; left:200px;top:0px;}
50%  {background: blue; left:200px;top:200px;}
75%  {background: green; left:0px;top:200px;}
100% {background: red; left:0px; top:0px;}
}

@-webkit-keyframes myfirst
{
0%   {background: red; left:0px;top:0px;}
25%  {background: yellow; left:200px;top:0px;}
50%  {background: blue; left:200px;top:200px;}
75%  {background: green; left:0px;top:200px;}
100% {background: red; left:0px; top:0px;}
}

@-o-keyframes myfirst
{
0%   {background: red; left:0px;top:0px;}
25%  {background: yellow; left:200px;top:0px;}
50%  {background: blue; left:200px;top:200px;}
75%  {background: green; left:0px;top:200px;}
100% {background: red; left:0px; top:0px;}
}

Try it yourself »


CSS3 Animation Properties

The following table lists the @keyframes rule and all the animationproperties:

PropertyDescriptionCSS@keyframesSpecifies the animation3animationA shorthand property for all the the animation properties, exceptthe animation-play-state property3animation-nameSpecifies the name of the @keyframes animation3animation-durationSpecifies how many seconds or milliseconds an animation takes tocomplete one cycle. Default 03animation-timing-functionDescribes how the animation will progress over one cycle of itsduration. Default "ease"3animation-delaySpecifies when the animation will start. Default 03animation-iteration-countSpecifies the number of times an animation is played. Default13animation-directionSpecifies whether or not the animation should play in reverse onalternate cycles. Default "normal"3animation-play-stateSpecifies whether the animation is running or paused. Default"running"3

The two examples below sets all the animation properties:

OperaSafariChromeFirefoxInternet Explorer

Example

Run an animation called myfirst, with all the animationproperties set:

div
{
animation-name: myfirst;
animation-duration: 5s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-play-state: running;

-moz-animation-name: myfirst;
-moz-animation-duration: 5s;
-moz-animation-timing-function: linear;
-moz-animation-delay: 2s;
-moz-animation-iteration-count: infinite;
-moz-animation-direction: alternate;
-moz-animation-play-state: running;

-webkit-animation-name: myfirst;
-webkit-animation-duration: 5s;
-webkit-animation-timing-function: linear;
-webkit-animation-delay: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
-webkit-animation-play-state: running;

-o-animation-name: myfirst;
-o-animation-duration: 5s;
-o-animation-timing-function: linear;
-o-animation-delay: 2s;
-o-animation-iteration-count: infinite;
-o-animation-direction: alternate;
-o-animation-play-state: running;
}

Try it yourself »

OperaSafariChromeFirefoxInternet Explorer

Example

The same animation as above, using the shorthand animationproperty:

div
{
animation: myfirst 5s linear 2s infinite alternate;

-moz-animation: myfirst 5s linear 2s infinite alternate;

-webkit-animation: myfirst 5s linear 2s infinite alternate;

-o-animation: myfirst 5s linear 2s infinite alternate;
}

Try it yourself »
原创粉丝点击