怎么在CSS3中使用Animation动画属性

本篇文章为大家展示了怎么在CSS3中使用Animation动画属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

要使用animation动画,先要熟悉一下keyframes,Keyframes的语法规则:命名是由”@keyframes”开头,后面紧接着是这个“动画的名称”加上一对花括号“{}”,括号中就是一些不同时间段样式规则。不同关键帧是通过from(相当于0%)、to(相当于100%)或百分比来表示(为了得到最佳的浏览器支持,建议使用百分比),如下定义一个简单的动画:


  1. @keyframes myfirst /*定义动画名*/  
        {   
        0%   {background:red; left:0px; top:0px;} /*定义起始帧样式,0%可以换成from*/  
        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;} /*定义结束帧样式,100%可以换成to*/  
        }


@keyframes定义好了,要使其能发挥效果,必须通过animation把它绑定到一个选择器,否则动画不会有任何效果。下面列出了animation的属性:

怎么在CSS3中使用Animation动画属性

下面设置上述的所有属性

CSS Code复制内容到剪贴板


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

上述所有代码可以如下简写:

CSS Code复制内容到剪贴板

  1. animation:myfirst 5s linear 2s infinite alternate;   

  2. animation-play-state:running;   

  3.   

浏览器兼容性

Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。

Chrome 和 Safari 需要前缀 -webkit-。

注意:Internet Explorer 9,以及更早的版本,不支持 @keyframe 规则或 animation 属性。


  1. <!DOCTYPE html>  
    <html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <title>animation演示</title>  
        <style>    
        div   
        {   
        width:100px;   
        height:100px;   
        background:red;   
        position:relative;   
        animation-name:myfirst;   
        animation-duration:5s;   
        animation-timing-function:linear;   
        animation-delay:1s;   
        animation-iteration-count:infinite;   
        animation-direction:alternate;   
        animation-play-state:running;   
        /* Safari and Chrome: */   
        -webkit-animation-name:myfirst;   
        -webkit-animation-duration:5s;   
        -webkit-animation-timing-function:linear;   
        -webkit-animation-delay:1s;   
        -webkit-animation-iteration-count:infinite;   
        -webkit-animation-direction:alternate;   
        -webkit-animation-play-state:running;   
        }   
      
        @keyframes myfirst /*定义动画名*/   
        {   
        0%   {background:red; left:0px; top:0px;} /*定义起始帧样式,0%相当于from*/   
        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;} /*定义结束帧样式,100%相当于to*/   
        }   
      
        @-webkit-keyframes myfirst /* Safari and Chrome */   
        {   
        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;}   
        }   
        </style>  
    </head>  
    <body>  
        <p>该实例在 Internet Explorer 9 及更早 IE 版本是无效的。</p>  
        <div></div>  
    </body>  
    </html>


上述内容就是怎么在CSS3中使用Animation动画属性,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。