• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

HTML5 CSS动画 animation使用

武飞扬头像
我脾气呢
帮助1

首先看一下页面的布局

  1.  
    <body>
  2.  
    <div class="box1">
  3.  
    <div class="box2"></div>
  4.  
    </div>
  5.  
    </body>


animation(动画)和transition(过渡)其实差不多,就是一个自己会动(动画),一个需要触发才可以动。

动画的定义(@keyframes(关键帧))
设置动画效果,必须要先设置一个关键帧,关键帧设置了动画的每一个步骤,最简单的关键帧的定义如下:(定义在css文件或者在style标签中,moveToRight是自己取的名字,类似于我们的函数名,需要被调用)

  1.  
    @keyframes moveToRight {
  2.  
    from{
  3.  
    margin-left: 0%;
  4.  
    }
  5.  
    to{
  6.  
    margin-left: 100%;
  7.  
    }
  8.  
    }

也可以写成:

0% 100%都是可以调整的也可以25% 50% 75%都是可以的

数值自己定根据自己想要的效果进行设置(类似)

  1.  
    @keyframes moveToRight {
  2.  
    0%{
  3.  
    margin-left: 0%;
  4.  
    }
  5.  
    100%{
  6.  
    margin-left: 100%;
  7.  
    }
  8.  
    }
  1.  
    @keyframes moveToRight {
  2.  
    0%{
  3.  
    margin-left: 0%;
  4.  
    }
  5.  
    25%{
  6.  
    margin-left: 33%;
  7.  
    }
  8.  
    50%{
  9.  
    margin-left: 50%;
  10.  
    }
  11.  
    75%{
  12.  
    margin-left: 77%;
  13.  
    }
  14.  
    100%{
  15.  
    margin-left: 100%;
  16.  
    }
  17.  
    }
学新通

动画的调用(使用)

只需要使用animation-name:关键帧名;来使用即可

  1.  
    .box2{
  2.  
    width: 100px;
  3.  
    height: 100px;
  4.  
    background-color: orange;
  5.  
    animation-name: moveToRight;
  6.  
    animation-duration: 2s;
  7.  
    }

animation也可以使用

  • animation-duration定义动画时间,
  • animation-delay设置延迟时间,
  • animation-timing-function设置动画的时序函数

注意:动画不需要指定动画的属性,可以直接让他过渡。
演示代码:

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
    <head>
  4.  
    <meta charset="UTF-8">
  5.  
    <title>动画</title>
  6.  
    <style>
  7.  
    .box1{
  8.  
    width: 600px;
  9.  
    height: 600px;
  10.  
    background-color: grey;
  11.  
    overflow: hidden;
  12.  
    }
  13.  
     
  14.  
    .box2{
  15.  
    width: 100px;
  16.  
    height: 100px;
  17.  
    background-color: orange;
  18.  
    animation-name: moveToRight;
  19.  
    animation-duration: 2s;
  20.  
    }
  21.  
     
  22.  
    @keyframes moveToRight {
  23.  
    from{
  24.  
    margin-left: 0%;
  25.  
    }
  26.  
    to{
  27.  
    margin-left: 100%;
  28.  
    }
  29.  
    }
  30.  
    </style>
  31.  
    </head>
  32.  
    <body>
  33.  
    <div class="box1">
  34.  
    <div class="box2"></div>
  35.  
    </div>
  36.  
    </body>
  37.  
    </html>
学新通

显示:(自动滑动,因为设置了100%,所以会直接滑动到外边,然后被overflow:hidden所隐藏)

animation-iteration-count(动画执行的次数)
可选值:

  • N(常数,执行N次)
  • inifinite(无数次)


animation-direction(动画执行的方向)
可选值:

  • normal:每次从from到to(默认)
  • reverse:每次都从to到from
  • alternate:先from到to,然后再从to到from 反复
  • alternate-reverse:从to到from,然后再从from到to 反复


animation-play-state(动画的执行状态)
可选值:

  • running:动画执行(默认)
  • paused:动画暂停

animation-fill-mode(动画的填充模式)
可选值:

  • none:动画执行完毕回到原来位置(默认)
  • forward:动画执行完毕,停止在动画结束的位置
  • backwards:动画延时等待时,元素会处于开始位置
  • both:结合了forward和backwards。

animation的简写

  1.  
    /*关键帧名为moveToRight*/
  2.  
    animation-name: moveToRight;
  3.  
    /*每次运动时常为2s*/
  4.  
    animation-duration: 2s;
  5.  
    /*移动三次*/
  6.  
    animation-iteration-count: 3;
  7.  
    /*延迟2s*/
  8.  
    animation-delay: 2s;
  9.  
    /*运动方向先fromto,然后再从tofrom 反复*/
  10.  
    animation-direction: alternate;
  11.  
    /*动画执行完毕,停止在动画结束的位置*/
  12.  
    animation-fill-mode: forwards;

可以简写为:

            animation: moveToRight 2s infinite 2s alternate forward;

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhibbkek
系列文章
更多 icon
同类精品
更多 icon
继续加载