CSS旋转动画和动画的拼接

  • 2019 年 10 月 8 日
  • 筆記

旋转动画

第一个样式:

@keyframes rotating {      from {          transform: rotate(0deg);      }      to {          transform: rotate(360deg);      }  }

第二个样式:

    .icon {        color: #f5222d;        animation: rotating 1.8s linear infinite;        animation-fill-mode: forwards;        display: inline-block;        i {          font-size: 60px;        }      }

HTML代码

<div class="icon">          <i class="iconfont iconloading"></i>  </div>

linear是匀速运动,还可以设置为: ease 默认。动画以低速开始,然后加快,在结束前变慢。 ease-in 动画以低速开始。 测试 ease-out 动画以低速结束。 测试 ease-in-out 动画以低速开始和结束。 测试 cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。 infinite是无限次播放的意思,这里也可以写个数字,来控制播放几次;

动画的拼接

keyframes样式

@keyframes dropDown {      0% {          transform: translate(0px, -120px);          opacity: 0;      }      100% {          transform: translate(0px, 0px);          opacity: 1;      }  }    @keyframes popUp {      0% {          transform: translate(0px, 0px);          opacity: 1;      }      100% {          transform: translate(0px, -120px);          opacity: 0;      }  }

元素样式

.appTip {        animation-name: dropDown, popUp;        animation-duration: 800ms, 800ms;        animation-delay: 0ms, 3200ms;        animation-timing-function: ease, ease;        animation-iteration-count: 1, 1;        animation-fill-mode: forwards, forwards;  }

animation-name可以设置两个(或多个)keyframes名; 后面的样式属性都是按照两个(或多个)keyframes来配置的; 只要把animation-delay配置好,就可以完美实现动画拼接了;