CSS3:animation动画

animation只应用在页面上已存在的DOM元素上,学这个不得不学keyframes,我们把他叫做“关键帧”。

keyframes的语法法则:

        @keyframes flash {
            from{
               left:0;
            }
            50%{
              left:50px;
            }
            to{
              left:100px;
            }
        }

        @keyframes flash {
            0%{
               left:0;
            }
            50%{
              left:50px;
            }
            100%{
              left:100px;
            }
        }

为了得到最佳的浏览器支持,应该始终定义 0% 和 100% 选择器!

为了兼容更多浏览器,还需要加可恶的前缀:

@-moz-keyframes flash{...}       /* Firefox */

@-webkit-keyframes flash{...}      /* Safari 和 Chrome */

@-o-keyframes flash{...}        /* Opera */

animation可设置6个属性:

animation: name duration timing-function delay iteration-count direction;

animation-name                规定需要绑定到选择器的 keyframe 名称。。
animation-duration                规定完成动画所花费的时间,以秒或毫秒计。
animation-timing-function       规定动画的速度曲线。(linear匀速、ease加速、ease-in慢到快、ease-out快到慢、ease-in-out低速开始低速结束)
animation-delay                         规定在动画开始之前的延迟。
animation-iteration-count             规定动画应该播放的次数, infinite--无限次播放
animation-direction                 规定是否应该轮流反向播放动画。 值normal--正常播放,值alternate--轮流返向播放

为了兼容更多浏览器,属性前还需要加可恶的前缀:

-moz-animation     /* Firefox */

-webkit-animation    /* Safari 和 Chrome */

-o--animation      /* Opera */

小实例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>动画</title>
    <style>
        .box{width:100px;height:100px;
            background: #000;
            position:relative;
            -webkit-animation: flash 5s ease-out;
                    animation: flash 5s ease-out;
        }
        @-webkit-keyframes flash {
            0%{
                top:0;
               left:0;
                background:red;
            }
            25%{
               left:200px;
                top:0;
                background: #000;
            }
            50%{
                top:200px; left:200px;
            }
            75%{
                top:200px; left:0;
            }
            100%{
              left:0;
                top:0
            }
        }
        @keyframes flash {
            0%{
                top:0;
               left:0;
                background:red;
            }
            25%{
               left:200px;
                top:0;
                background: #000;
            }
            50%{
                top:200px; left:200px;
            }
            75%{
                top:200px; left:0;
            }
            100%{
              left:0;
                top:0
            }
        }
    </style>
</head>
<body>
    <div class="box">

    </div>
</body>
</html>

注意:Internet Explorer 9 以及更早的版本不支持 animation 属性

时间: 2024-10-04 17:54:04

CSS3:animation动画的相关文章

css3 animation动画技巧

一,css3 animation动画前言 随着现在浏览器对css3的兼容性越来越好,使用css3动画来制作动画的例子也越来越广泛,也随着而来带来了许多的问题值得我们能思考.css3动画如何让物体运动更顺畅,css3动画如何做弧线动画,css3动画是否有动画库,css3帧动画如何快速简单……   为了解决这些折磨人的问题,我们今天来分析一下: 首先介绍css3 Animation动画库: http://daneden.github.io/animate.css/ 基本涵盖了我们常见的基础css3动

CSS3 Animation 动画

CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation: Animation主要是对元素实现了一些基本的动画效果,它只能应用在页面的DOM元素上. w3school在线文档说明 http://www.w3school.com.cn/css3/css3_animation.asp 不同浏览器兼容 div{ animation:; -moz-animation:; /* Firefox */ -webkit-animation:; /* Safari 和

CSS3 transition动画、CSS3 transform变换、CSS3 animation动画

CSS3 transition动画 1.transition-property 设置过渡的属性,比如:width height background-color2.transition-duration 设置过渡的时间,比如:1s 500ms3.transition-timing-function 设置过渡的运动方式 linear 匀速 ease 开始和结束慢速 ease-in 开始是慢速 ease-out 结束时慢速 ease-in-out 开始和结束时慢速 cubic-bezier(n,n,

css3 animation动画对应属性解释

animation Value:     [<animation-name> || <animation-duration> || <animation-timing-function> || <animation-delay> || <animation-iteration-count> || <animation-direction> || <animation-fill-mode>] [, [<animatio

css3 animation 动画属性简介

animation 动画属性介绍 animation 属性是一个简写属性,用于设置动画属性: 1. animation-name----规定需要绑定到选择器的 keyframe 名称. 语法:animation-name: keyframename|none: Keyframename:规定需要绑定到选择器的 keyframe 的名称. None: 规定无动画效果(可用于覆盖来自级联的动画). 例如: { -webkit-animation-name: my_animation; -moz-an

CSS3 animation动画与transition过渡比较

共同点 animation动画与transition过渡都可以实现动画效果,拥有下面共同的属性 animation:mymove 2s linear infinite alternate; transition: width 1s ease-out; 1.动画名称(name)@key-frame 2.过渡时间(duration)规定动画完成一个周期所花费的秒或毫秒.默认是 0. 3.延迟时间(delay)规定动画何时开始. 4.时间函数(timing-function)规定动画的速度曲线,默认是

关于css3 Animation动画

在介绍animation之前有必要先来了解一个东西,那就是“keyframes”,我们把他叫做“关键帧”: 在使用transition制作一个简单的transition效果时,包括了初始属性,最终属性以及完成过渡效果 所需的时间.速度曲线.开始时间:但是这些都无法控制的更细一些,比如说我要第一个时间段执行什么动作,第二个时间段执行什么动作,仅仅通过transition就很难实现:此时就需要“关键帧”这个东西,下面我们就来看看"keyframe"; “keyframe”命名是由"

CSS3 Animation动画

Animation自定义动画是CSS制作动画三个属性其中一个,CSS制作动画的三个元素有:Transform,Translate,Animation.元素所应用的动画名称,必须与规则@keyframes关键帧配合使用,因为动画名称由@keyframes定义. 而@keyframes关键帧有自己的语法规则,必须以@keyframes开头,后面接动画名称(自定义,语义化一点更好),然后在加对“{}”,括号中就是一些不同时间段样式规则. @keyframes语法:@keyframes<identifi

css3 animation动画事件

当使用css3时,会遇到利用@keyframes来定义动画事件,利用以下3个事件,能够捕捉当前元素的动画: AnimationEnd //动画结束时 AnimationStart  //动画開始 AnimationIteration  //动画每运行结束一次,这样的情况适用与animation-iteration-count大于1时. 对于transaction也有一个事件来捕获结束: transactionend $('.toggle-detail').on('transitionend',f

CSS3 animation动画,循环间的延时执行该怎么弄

在使用css做一些小的动画时,有些动画我们是需要其循环播放的,而且在部分动画中我们需要上一个循环与下一个循环之间存在一定的时间间隔,这个时候的animation-delay和transition-delay 只会在第一次动画开始的时候生效,而在两个循环之间是不生效的,这是我们就需要用其他的方法来实现循环之间的时间间隔. 方法:如下面的程序,我们可以把动画执行的总时间设置为4s,然后从75%开始,用后面的1s来做动画,前面的3s用作每次动画开始之前的延时,这样就可以解决循环播放delay失效的问题