• CSS动画让div动起来


    CSS动画

    今天在写代码时候,遇到了css动画效果如何实现的问题,经过查阅和实践,总结出一下结论。

     transition 

    transition 指定动画变化的对应属性 以及动画的执行时间。
    例如:transition:width 1s;  意思就是当width发生变化时,变化执行1s。
    这种可以实现简单的动画效果,但对于复杂的动画,还不能够满足。
     在此基础上,我还新发现一个对于css动画更高级的属性--animation
    animation是结合@keyframes (关键帧)进行使用的。
    用法:
     1 .graduallymove{
     2             background-image: url(../../img/1.jpg);//设置背景
     3             background-size:cover;//设置背景图片的样式 铺满整个div
     4             position: relative;//设置div的位置属性为相对定位
     5             top: 100px;//设置距离上边100px
     6             left: 800px;
     7              500px;//设置div宽度为500px
     8             height: 400px;
     9             transition: 1s;//设置div动画效果执行1s
    10             box-shadow: 0 0 30px rgba(0, 0, 0, .5);//阴影效果 范范围30px 黑色半透明 四周
    11             animation: graduallymove 1.5s ease-out 0.2s ;//设置对象为 garduallymove 1.5s动画 先快后慢 0.2s延迟后再发生
    12         }
     1   @keyframes graduallymove {
     2             0%{
     3                 opacity: 0;
     4                 top: 100px;
     5                 left: 0px;
     6 
     7             }
     8            
     9           
    10             
    11             100%{
    12                 opacity: 1;
    13                 top: 100px;
    14                 left: 800px;
    15             }
    16         }
    <body>
        <!-- <div class="leftmove"></div> -->
        <div class="graduallymove"></div>
    </body>

    效果就是,图片从左向右渐入,最后停在右边。位置为top:100px;left:800px;

    对于animation,由于属性复杂,我再单独讲讲。

    animation(包含以下几个属性值,可以混合写到一起,最后讲)

    animation-name (动画对象)

    animation-name:表示动画的对象。animation-name属性指定应用的一系列动画,每个名称代表一个由@keyframes定义的动画序列。

    /* Single animation */单一对象
    animation-name: none;
    animation-name: test_05;
    animation-name: -specific;
    animation-name: sliding-vertically;
    
    /* Multiple animations */复杂对象,多个对象
    animation-name: test1, animation4;
    animation-name: none, -moz-specific, sliding;
    
    /* Global values */全局值
    animation-name: initial  //最初的
    animation-name: inherit//继承的
    animation-name: unset//不设置的

    animation-duration (动画时长)

    animation-duration属性指定一个动画周期的时长。

    默认值为0,表示无动画效果。

    注意:负值无效,浏览器会忽略该声明,但是一些早期的带前缀的声明会将负值当作0s。

    animation-timing-function (动画方式)

    定义于一个关键帧区块的缓动函数(animation timing function)应用到改关键帧;另外,若该关键帧没有定义缓动函数,则使用定义于整个动画的缓动函数。

    描述
    linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。(匀速)
    ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))(相对于匀速,中间快,两头慢)。
    ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))(相对于匀速,开始的时候慢,之后快)。
    ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))(相对于匀速,开始时快,结束时候间慢,)。
    ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))(相对于匀速,(开始和结束都慢)两头慢)。
    cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

    animation-delay (动画延迟)

    animation-delay CSS属性定义动画于何时开始,即从动画应用在元素上到动画开始的这段时间的长度。

    animation-iteration-count (动画次数)

    animation-iteration-count 定义动画在结束前运行的次数 可以是1次 无限循环.

    如果指定了多个值,每次播放动画时,将使用列表中的下一个值,在使用最后一个值后循环回第一个值。

    可选值:

    infinite

    无限循环播放动画.

    <number>动画播放的次数;默认值为1

    可以用小数定义循环,来播放动画周期的一部分:例如,0.5 将播放到动画周期的一半。不可为负值。

    animation-direction (动画方向)

    animation-direction CSS 属性指示动画是否反向播放

    可选值

    normal

    每个循环内动画向前循环,换言之,每个动画循环结束,动画重置到起点重新开始,这是默认属性。
    alternate
    动画交替反向运行,反向运行时,动画按步后退,同时,带时间功能的函数也反向,比如,ease-in 在反向时成为 ease-out。计数取决于开始时是奇数迭代还是偶数迭代
    reverse
    反向运行动画,每周期结束动画由尾到头运行。(动画反向进行)
    alternate-reverse
    反向交替, 反向开始交替
    动画第一次运行时是反向的,然后下一次是正向,后面依次循环。决定奇数次或偶数次的计数从1开始。

    animation-fill-mode (动画保持)设置动画最后的样式为哪样

    animation-fill-mode 设置CSS动画在执行之前和之后如何将样式应用于其目标。

    none

    不设置任何样式

    forwards

    最后一个关键帧的样式(简单点说就是)最后动画的样式

    backwards

    将在应用于目标时立即应用第一个关键帧中定义的值, (最初的动画样式)

    both

    两个方向延展动画样式(个人觉得像forwards)

    animation-play-state

    animation-play-state 属性定义一个动画是否运行或者暂停。可以通过查询它来确定动画是否正在运行。另外,它的值可以被设置为暂停和恢复的动画的重放。恢复一个已暂停的动画,将从它开始暂停的时候,而不是从动画序列的起点开始在动画。

    可选值

    running

    当前动画正在运行。

    paused

    当前动画已被停止。

    可都将属性写到一起

    animation:duration(动画时长) | timing-function(动画类型) | delay(动画延迟) |iteration-count (动画次数)| direction (动画方向)| fill-mode(动画保持) | play-state(动画状态) | name(动画对象) ;

  • 相关阅读:
    visual studio 2010设置
    Win7 x64 PL/SQL 连接 Oralce 提示 Could not initialize "%ORACLE_HOME%\bin\oci.dll"
    jxl导入/导出excel
    struts2的action与jsp之间传递参数
    web服务器、容器和中间件
    myeclipse trial expired 注册码解决办法(可用于8.5)
    Java中的内部类
    JS的trim()方法
    struts2 <s:property>用法
    EL表达式的使用
  • 原文地址:https://www.cnblogs.com/yqPhare/p/15613026.html
Copyright © 2020-2023  润新知