CSS3动画

对css3动画做了个简单的总结:

1、CSS3动画是什么?

动画是使元素从一种样式逐渐变化为另一种样式的一种效果。我们可以改变任意多样的次数。可以用百分比( 0% 和 100%,百分比代表的是时间)或者是用关键词 "from" 和 "to"来规定变化发生的时间。0% 是动画的开始,100% 是动画的完成。同时为了得到最佳的浏览器支持,我们始终定义 0% 和 100% 选择器。

2、CSS3 @keyframes 的规则

如果我们想要创建一个css3动画,我们需要先创建一个@keyframes动画,所以就必须得了解@keyframes的一些规则。

  • transition 过渡属性:它的特点是需要事件来触发。
  • anmition  动画属性:它的特点是不需要事件进行触发,调用关键帧即可。

animation:它是个复合属性

  •      animation-name------------------------ --关键帧的名称
  •      animation-duration------------------------动画的持续的时间
  •      animation-timing-function --------------动画运用的类型

                 属性:

                          linear------匀速运动 

                          ease-------默认

                          ease-in-----以低速开始

                          ease-out----以低速结束

                          ease-in-out---以低速开始和结束

                          cubic-bezier(n,n,n,n)---数值n只能是[0,1]

                          step-start-------马上跳到动画每一结束桢的状态

  •      animation-delay---------------------------动画的延迟
  •      animation-iteration-count---------------动画运动的次数(默认情况下运动1次) infinite(无限循环)
  •      animation-direction-----------------------运动的方向

                 属性值:

                          - reverse:反方向运行 ( 让关键帧从后往前执行 )
                          - alternate:动画先正常运行再反方向运行,并持续交替运行
                          - alternate-reverse:动画先反运行再正方向运行,并持续交替运行

  •      animation-play-state 

                  属性值:
                              paused暂停
                              running运动

  •      常用的写法:animation:关键帧的名称  动画运动的时间  linear(匀速)  动画延迟的时间
  • 注意: 必须定义动画的名称 动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。
  • 制作关键帧的两种方法:

                     方法一:

                                  @keyframes 关键帧名称{

                                 from{  }

                                 to{ }

                                 }

                     方法二

                                 @keyframes 关键帧名称{

                                 0%{  开始状态 }

                                 10%{  }

                                 ......

                                 100%{ 结束状态 }

                                 }

3、案例

代码:

        p{
            width: 50px;
            height: 50px;
            background-color: darkgoldenrod; 
            /* 
                调用关键帧 
                go--关键帧名称
                3s--运动时间
                linear--匀速运动
                infinite--无限制,一直的运动  
            */
             animation: go 3s linear infinite;
        }

        /* 创建关键帧 */
        @keyframes go{
            0%{
                /* 起始位置 */
                transform: translateX(0px);
            }
            25%{
                transform: translateX(350px) translateY(0px);
            }
            50%{
                /* 沿X方向水平位移350px,沿Y方向水平位移350px */
                transform: translateX(350px) translateY(350px);
            }
            75%{
                transform: translateX(0px) translateY(350px);
            }
            100%{
                /* 终止位置 */
                transform:  translateX(0px);
            }
        }

 结果:

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值