• transition、cubic-bezier


    transition

    • transition 检索或设置对象变换时的过渡效果
    • transition-property 检索或设置对象中的参与过渡的属性
    • transition-duration 检索或设置对象过渡的持续时间
    • transition-timing-function 检索或设置对象中过渡的类型
    • transition-delay

    transition
    transition:<single-transition>[,<single-transition>]*

    <single-transition> = [ none | <single-transition-property> ] || <time> || <single-transition-timing-function> || <time>

    • <' transition-property '>:
      检索或设置对象中的参与过渡的属性
    • <' transition-duration '>:
      检索或设置对象过渡的持续时间
    • <' transition-timing-function '>:
      检索或设置对象中过渡的动画类型
    • <' transition-delay '>:
      检索或设置对象延迟过渡的时间
    transition: transition-property transition-duration transition-timing-function transition-delay;
    

    缩写:

        transition:
    		border-color .5s ease-in .1s,
    		background-color .5s ease-in .1s,
    		color .5s ease-in .1s;
    

    拆分

    transition-property: border-color, background-color, color;
    transition-duration: .5s, .5s, .5s;
    transition-timing-function: ease-in, ease-in, ease-in;
    transition-delay: .1s, .1s, .1s;
    

    transition-timing-function

    取值:

    • linear
      线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
    • ease
      平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
    • ease-in
      由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
    • ease-out
      由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)
    • ease-in-out
      由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
    • step-start
      等同于 steps(1, start)
    • step-end
      等同于 steps(1, end)
    • steps(<integer>[, [ start | end ] ]?)
      接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。
    • cubic-bezier(<number>, <number>, <number>, <number>)
      特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内

    cubic-bezier

        transition: all 1s cubic-bezier(0,0,1,1);
                                        (x,y)(x,y)
                                        第一个控制点 第二个控制点
                                        y值可正可负,为负时,速度先为负后为正,y为负,斜率也就为负值,所以小球先退后一点再加速前进。
                                        x轴只能为正[0,1]之间。
                                        峰值曲线,越尖,速度越快;越平缓,速度越慢。
                                        (x,y,x,y)
                                        y轴差值越少,越短促有力一点;
                                        y轴可正可负,负回退正前进;
    
    B(t) = P₀(1 - t)³ + 3P₁t(1 - t)² + 3P₂t²(1 - t) + P₃t³ ,t ∈ [0,1]
            起点        控制点1         控制点2                  终点
    

    贝塞尔曲线,就是取两点之间的斜率,k = f'( x );
    可以在控制台调节控制点位置。

  • 相关阅读:
    P4009 汽车加油行驶问题
    P2761 软件补丁问题
    P1251 餐巾计划问题
    P2766 最长不下降子序列问题
    P4011 孤岛营救问题
    P2765 魔术球问题
    P2770 航空路线问题
    P2762 太空飞行计划问题
    P2764 最小路径覆盖问题
    P3355 骑士共存问题
  • 原文地址:https://www.cnblogs.com/zhizhi0810/p/10993496.html
Copyright © 2020-2023  润新知