2022.10.25

## 一、帧动画

### 1、定义关键帧

```html

@keyframes 动画名称(英文) {

            0% {

                /* 动画的开始 */

            }

            25% {

                /* 在25%的时候进行的一个动画 */

            }

            50% {

                /* 在50%的时候进行的一个动画 */

            }

            100% {

                /* 动画结束 */

            }

        }

    from,to表示开始、结束状态,也可以使用0%,100%定义

        @keyframes 动画名称(英文) {

            from {

                /* 动画开始 */

            }

            to {

                /* 动画结束 */

            }

        }

       

```

### 2、引用帧动画

```html

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

 animation: 动画名称 动画执行时间 动画速度曲线 延迟时间 动画播放次数 动画运动方向 动画结束之后显示的状态

   注意:动画名称和动画执行时间必须写,否则动画无效

        1.animation-name 动画名称 是定义关键帧是所定义的动画名称

        2.animation-duration 动画的执行时间  单位:s/ms

        3.animation-timing-function 规定动画运动的速度曲线

           1.linear 相同的速度从开始到结束,也就是匀速

           2.ease  默认值 慢速度开始--速度变快--慢速度结束

           3.ease-in 慢速度开始的过渡效果,也就是以低速度开始

           4.ease-out 慢速度结束的过渡效果,也就是以低速结束

           5.ease-in-out 以慢速度开始和结束的过渡效果

        4.animation-delay 定义动画何时开始

           单位:s/ms

            取值

            - 以秒或毫秒计

            - 默认值是 0

            - 允许负值,(-2s 使动画马上开始,但跳过 2 秒进入动画)

        5.animation-iteration-count 动画的执行次数

           1.n 默认执行动画次数1次

           2.infinite 无限次播放动画

        6.animation-direction 定义是否应该轮流反向播放动画

           1.normal 默认值,正常播放

           2.alternate 动画轮流反向播放

           3.alternate-reverse 从第一次就反向运动

        7.animation-fill-mode d动画结束之后的显示状态

           1.both:动画开始或结束的状态

           2.fowards 动画结束时状态

           3.backwards 动画开始的状态

               

          8.animation-play-state: paused;动画播放方式   暂停

                取值:

                running:运动

                paused: 暂停


 

```

## 二、animate.css动画插件

```html

https://animate.style/

https://www.dowebok.com/demo/2014/98/

css3动画库,预设了抖动(shake)、闪烁(flash)、弹跳(bounce)、旋转(rotateIn|rotateOut)、翻转(flip)、淡入淡出(fadeIn|fadeOut)等动画效果。

```

## 使用方法:

- 1、第一步. 引入animate.css文件

```

<link rel="stylesheet" href="css/animate.min.css">

```

- 第二步. 给指定的元素加上指定的动画样式名

  ```html

  animation__name定义动画的效果名称

  animation__duration定义动画持续的时间

  animation__delay 定义动画延迟的时间

  animation-iteration-count: 定义动画重复的次数

  animation__faster  定义动画的速度

  animation:动画效果 执行时间 延迟时间 执行次数 速度曲线;

  animation: bounce 1s 2s infinite linear;

  选择自己想要的动画效果,然后复制粘贴

  第一个animated是必须添加的样式名,第二个是指定的动画样式名。

   <div class="animated fadeInUp"></div>

  2、加统一的类名animated,然后选择自己想要的动画效果,然后复制粘贴

  //1.直接加自己选择的类名

      <h3 class="animated tada">tada</h3>

      <p class="animated rubberBand">rubberBand</p>

     <div class="animated shake">shake</div>

  改变其原有属性(覆盖)

      .shake {

              animation-delay: .5s;

              animation-iteration-count: infinite;

              animation-timing-function: linear;

          }

  //2.用animation

    #box1 {

    animation:动画效果 执行时间 延迟时间 执行次数;

              animation: flipInY 2s 2s 3 linear;

          }  

   <p id="box1">内容内容1</p>

  ```

## 三、css3中过渡和动画的区别?

- 区别:语法、触发、执行次数、复杂度

- 相同点 : 都是随着时间改变元素的属性值。

- 不同点:

  1、过渡动画是需要触发条件的(hover事件或click事件等),只能完成简单的动画

  2、帧动画不需要任何的触发条件,可以完成复杂轨迹的动画

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值