【跟着官方文档学习css 】animation-timing-function

本文详细介绍了CSS动画中的时间函数,包括ease、ease-in、ease-out、linear等常见类型,以及如何使用cubic-bezier自定义动画速度曲线。重点解析了step-start、step-end和贝塞尔曲线的工作原理,强调了它们在定义动画节奏中的关键作用。此外,还探讨了如何通过调整参数来实现不同的动画效果。
摘要由CSDN通过智能技术生成

每日鸡汤,每个你想要学习的念头都是未来的你向自己求救

之前css 的系统学习说了, css 的animation 有很多值,

animation-name. animation-duration; animation-timing-function 等等

看来时间函数是知识点最多的,值得系统的学习一下

这个时间函数,虽然可以写在animation 后面;但是这也是一个单独的css属性可以单独写的,同理还是transiton-timing-function

a {

    animation-timing-function: ease/ease-in/ ease-out/linear/cubic-bezier
}

时间函数就是定义css 动画的执行的节奏,也就是快慢

  1. ease 和ease-in-out类似但是不相同这是很重要, 【开始和结束都慢,中间快,也就是使变化的边界很柔和】,也是animation-timing-function 或者transition-timing-function 的初始值/默认动画
    1. ease cubic-bezier(0.25, 0.1, 0.25 ,0.1)这个加速更快
    2. ease-in-out. cubic-bezier(0.42, 0, 0.58, 1) 缓慢加速,开始是和ease-in 一样,结束和ease-out一样
  2. ease-in. 低速开始了, 开始慢慢的, 结束快 in 进入, 名字里面有的慢, 因为ease是缓解的意思cubic-bezier(0.42, 0, 1, 1)
  3. ease-out 低速结束,开始快,结束慢cubic-bezier(0, 0, 0.58, 1)
  4. linear cubic-bezier(0, 0, 1, 1) 也很有用 动画从头到尾的速度都是相同的,,当变化很下的时候,比如几像素的更改或者颜色的变化
    1. 上面这几个都是特殊的贝塞尔曲线
  5. step-start 动画steps(1, start)执行一步,动画执行时以左侧端点为开始???
  6. step-end 动画step(1, end)动画分成一步,动画执行时,右侧结尾端点为开始,???
    1. step-start 和step-end都是 step(5, start)函数的特殊形式
    2. start = jump-start
    3. step(4, end) =step(4, jump-end)
    4. 首先要注意timing-funtion作用于每个关键帧之间,而不是整个动画,就是@keyframes中设置的两个关键帧之间
    5. step(n[大于0], <direction(方向)>) 第一个参数就是表明每个关键帧之间变化的次数,n 把关键帧的间隔等分
    6. 第二个参数可选,默认是end, 可以取值为start和end, 用来指定每个间隔的起点或是终点发生变化
    7. start 是两个关键帧的前者,end是两个关键帧的后者
    8. start 跳过0%, end跳过100%
    9. 左连续和右连续用函数的角度看,其实很好理解,关键帧的左边是否有线条?左连续,同理;
    10. start 左连续 用下一帧的现实效果填充间隔, includes pauses at both the 0% and 100% marks, 
    11. end 右连续 以上一帧的效果填充动画
    12. jump-none There is no jump on either end. Instead, holding at both the 0% mark and the 100% mark, each for 1/n of the duration
    13. step-start 就是立刻就跳转到当前关键帧结束的状态
    14. step-end  就是保持当前关键帧开始的状态,然后突然结束
    15. jump-both 左右连续,0% 100% 会停止
  7. 贝塞尔曲线,好家伙这个很重要,又称三次贝塞尔 ,是生成animation 速度曲线的函数,四个参数, cubuc-bezier(x1, y1, x2,y2)
    1. 这个贝塞尔的坐标我好不容易会看了
    2. 看官方文档
    3. 这个曲线上就只有四个点,而且y1 就是和坐标(0,0)连接的点
    4. y2就是和坐标和(1,1)连接的点
    5. 而且宽度就是1,因为x的取值就是0-1, 竖着的就是y坐标,可以取负值
    6. y坐标两个点一定在这个曲线的两边么?肯定不是啊
    7. 在这个官方网站自己玩
    8. 好了, 这回基本上能看懂了了,
    9. 一般参数0.33 前面的0 可以省略直接写.33

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值