CSS animation-timing-function 属性值说明

描述
ease动画慢慢开始,然后变得更快,慢慢结束。这是默认值。
linear动画以相同的速度开始。
ease-in动画开始缓慢,但最终变得更快,突然停止。
ease-out动画开始很快,但最后减慢了。
ease-in-out动画慢慢开始,慢慢结束。
step-start等于1,开始。
step-end等于1,结束。
steps(int,startend)
cubic-bezier (n,n,n,n)通过Cubic贝塞尔函数定义值。
initial它使属性使用其默认值。
inherit它从其父母元素继承了属性。
CSS animation-timing-function 属性

animation-timing-function 属性定义了动画在每个循环的持续时间内如何进行,而不是贯穿整个动画。
它指定动画的速度曲线,定义动画从一种样式集更改为另一种样式集所需的时间。

可以在@keyframes 规则中的某些关键帧上指定计时函数。

如果关键帧上没有指定的 animation-timing-function ,则元素的 animation-timing-function 的相应值用于该关键帧。

animation-timing-function 属性是 CSS3 属性之一。

它可以采用以下值:

  • ease - (默认)缓慢开始,然后变得更快,然后缓慢结束。
  • ease-in - 开始缓慢,但在结束时加速并突然停止。
  • ease-out - 开始很快,但最后会变慢。
  • ease-in-out - 缓慢开始,缓慢结束。
  • step-start-等于1,开始。
  • step-end-等于1,结束。
  • linear - 动画在整个动画中具有相同的速度,通常最适合用于颜色或者不透明度变化。
  • steps(int,start|end)- 指定一个带有两个参数的步进函数。第一个参数定义函数中的间隔数。它必须大于 0。第二个参数是值“start”或者“end”,并指定值在区间内发生变化的点。如果未应用第二个参数,则给出值“end”。
  • cubic-bezier (n,n,n,n) - 在三次贝塞尔函数中指定我们自己的值。可能的值是从 0 到 1.

当为任何动画属性指定多个逗号分隔值时,它们将以不同的方式添加到动画名称中定义的动画。

初始值ease
应用于所有元素。它还适用于::before和::after伪元素。
继承不可继承
可动画的不可动画的
版本CSS3
DOM 语法object.Style.AnimationTimingFunction =“linear”;

语法

animation-timing-function: linear | ease | ease-in | ease-out | ease-in-out | step-start | step-end | steps(int,start|end) | cubic-bezier(n,n,n,n)  |initial | inherit;

具有 "ease" 值的 animation-timing-function 属性示例:

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
    <style>
      div {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: #1c87c9;
        position: relative;
        -webkit-animation: element 5s infinite;
        /* Safari 4.0 - 8.0 */
        -webkit-animation-timing-function: ease;
        /* Safari 4.0 - 8.0 */
        animation: element 5s infinite;
        animation-timing-function: ease;
      }
      /* Safari 4.0 - 8.0 */
      @-webkit-keyframes element {
        from {
          left: 0px;
        }
        to {
          left: 200px;
        }
      }
      @keyframes element {
        from {
          left: 0px;
        }
        to {
          left: 200px;
        }
      }
    </style>
  </head>
  <body>
    <h2>Animation-timing-function example</h2>
    <div></div>
  </body>
</html>

具有“ease-in”值的 animation-timing-function 属性示例:

<!DOCTYPE html>
<html>
  <head>
    <style>
      div {
        width: 100px;
        height: 100px;
        background: #8ebf42;
        position: relative;
        -webkit-animation: element 7s infinite;
        /* Safari 4.0 - 8.0 */
        -webkit-animation-timing-function: ease-in;
        /* Safari 4.0 - 8.0 */
        animation: element 7s infinite;
        animation-timing-function: ease-in;
      }
      /* Safari 4.0 - 8.0 */
      @-webkit-keyframes element {
        from {
          left: 0px;
        }
        to {
          left: 200px;
        }
      }
      @keyframes element {
        from {
          left: 0px;
        }
        to {
          left: 200px;
        }
      }
    </style>
  </head>
  <body>
    <h1>The animation-timing-function Property</h1>
    <div></div>
  </body>
</html>

具有不同计时功能的 animation-timing-function 属性示例:

<!DOCTYPE html>
<html>
  <head>
    <style>
      div {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: #1c87c9;
        color: #eee;
        font-weight: bold;
        position: relative;
        text-align: center;
        padding: 8px;
        -webkit-animation: mymove 5s infinite;
        /* Safari 4.0 - 8.0 */
        animation: mymove 5s infinite;
      }
      /* Safari 4.0 - 8.0 */
      #div1 {
        -webkit-animation-timing-function: linear;
      }
      #div2 {
        -webkit-animation-timing-function: ease;
      }
      #div3 {
        -webkit-animation-timing-function: ease-in;
      }
      #div4 {
        -webkit-animation-timing-function: ease-out;
      }
      #div5 {
        -webkit-animation-timing-function: ease-in-out;
      }
      #div1 {
        animation-timing-function: linear;
      }
      #div2 {
        animation-timing-function: ease;
      }
      #div3 {
        animation-timing-function: ease-in;
      }
      #div4 {
        animation-timing-function: ease-out;
      }
      #div5 {
        animation-timing-function: ease-in-out;
      }
      /* Safari 4.0 - 8.0 */
      @-webkit-keyframes mymove {
        from {
          left: 0px;
        }
        to {
          left: 300px;
        }
      }
      @keyframes mymove {
        from {
          left: 0px;
        }
        to {
          left: 300px;
        }
      }
    </style>
  </head>
  <body>
    <h2>Animation-timing-function example</h2>
    <div id="div1">linear</div>
    <div id="div2">ease</div>
    <div id="div3">ease-in</div>
    <div id="div4">ease-out</div>
    <div id="div5">ease-in-out</div>
  </body>
</html>
日期:2020-06-02 22:14:24 来源:oir作者:oir