css_animation运动的贝塞尔曲线

简介: css_animation运动的贝塞尔曲线

模拟animation效果

参考MDN文档说明:https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions

animation-timing-function常见的四种速率变化

  • ease 默认值,朝向动画中间的速度增加,最后逐渐减慢
  • ease-in 开始时会缓慢,随着动画属性过渡的速度增加,直到完成为止
  • ease-in-out 动画属性缓慢过渡,加速,然后再次减速
  • ease-out 开始很快,放慢动画的速度继续
  • linear 线性匀速

实现模拟

整体布局

<div class='box'>
  <ul>
    <li>ease</li>
    <li>ease-in</li>
    <li>ease-in-out</li>
    <li>ease-out</li>
    <li>linear</li>
  </ul>
</div>

转换为1行5列

  • grid-template 网络划分
  • gap 间距
ul{
  display: grid;
  grid-template:1fr/repeat(5,1fr);
  list-style: none;
  gap:1em;
}
li{
  text-align: center;
  color: #000000;
  text-transform: uppercase;
  height:50px;
  width: 100px;
  animation-name: move;
  animation-duration: 6s;
  animation-iteration-count:infinite;
}

动画

下移80%;

@keyframes move{
  to{
    transform: translateY(80vh);
  }
}
li:nth-child(1){
  background: #CAD3C8;
  animation-timing-function: ease;
}
li:nth-child(2){
  background: #3B3B98;
  animation-timing-function: ease-in;
}
li:nth-child(3){
  background: #B33771;
  animation-timing-function: ease-in-out;
}
li:nth-child(4){
  background: #25CCF7;
  animation-timing-function: ease-out;
}
li:nth-child(5){
  background: #EAB543;
  animation-timing-function: linear;
}

整体

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>annimation</title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      body {
        width: 100vw;
        height: 100vh;
        background: #7f8fa6;
        display: grid;
        grid-template: 1fr/1fr;
      }
      .box {
        margin: 0 auto;
      }
      ul {
        display: grid;
        grid-template: 1fr/repeat(5, 1fr);
        list-style: none;
        gap: 1em;
      }
      li {
        text-align: center;
        color: #000000;
        text-transform: uppercase;
        height: 50px;
        width: 100px;
        animation-name: move;
        animation-duration: 6s;
        animation-iteration-count: infinite;
      }
      @keyframes move {
        to {
          transform: translateY(80vh);
        }
      }
      li:nth-child(1) {
        background: #CAD3C8;
        animation-timing-function: ease;
      }
      li:nth-child(2) {
        background: #3B3B98;
        animation-timing-function: ease-in;
      }
      li:nth-child(3) {
        background: #B33771;
        animation-timing-function: ease-in-out;
      }
      li:nth-child(4) {
        background: #25CCF7;
        animation-timing-function: ease-out;
      }
      li:nth-child(5) {
        background: #EAB543;
        animation-timing-function: linear;
      }
    </style>
  </head>
  <body>
    <div class='box'>
      <ul>
        <li>ease</li>
        <li>ease-in</li>
        <li>ease-in-out</li>
        <li>ease-out</li>
        <li>linear</li>
      </ul>
    </div>
  </body>
</html>

结束


目录
相关文章
|
6月前
|
前端开发
html_css模拟端午赛龙舟运动
html_css模拟端午赛龙舟运动
49 1
|
前端开发
|
前端开发 JavaScript
使用CSS实现 图片帧动画 与 曲线运动
使用CSS实现 图片帧动画 与 曲线运动
611 0
使用CSS实现 图片帧动画 与 曲线运动
|
Web App开发 前端开发
嘿,朋友,其实 CSS 动画超简单的 - 时间函数篇(贝塞尔曲线、steps,看完还不懂算我输)
时间函数在 CSS 动画中至关重要,它会直接影响到动画的展现效果,然而由于相对其它属性而言较为复杂,可能了解的人较少,今天详细讲一讲时间函数。
|
前端开发
css 运动背景
css 运动背景原理: animation-name: bgmove;animation-duration: 100s; animation-timing-function: linear; animation-delay: 0; animation-iteration-count: infinite; animation介绍: 属性 描述 animation 指定定义所有动画属性(除了 animation-play-state 外)的速记值。
868 0
|
3月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)