首页
关于视觉癖
设计服务
热门主题
投稿通道
设计师入驻
设计师招聘
在线留言
联系我们

热门主题

当前位置:视觉癖 > 热门主题 >

animation-timing-function属性(CSS设置动画的速度曲线)

发布时间:2021-06-05 15:31 所属分类:热门主题 浏览次数:
  animation-timing-function属性
  在animation中最重要的其实就是时间函数(animation-timing-function)这个属性,他决定了你的动画将以什么样的速度执行,所以最关键的属性值也就是cubic-bezier(n,n,n,n),你平时用到的linear、ease、ease-out等都是基于这个属性值的,那么我们接下来就看看这个东西到底是什么含义。
  这个时间函数是通过一个坐标反映出来的:
  这个就是timing-function的工作图,总共有4个点来描述整个曲线的运动形状,其中P0和P3是开始和截止的位置,关键位置是P1和P2,那么P1的坐标(x,y)就对应了cubic-bezier(n,n,n,n)的前两个n的值,而P2的坐标对应了后两个n的值,那么整个图中就有4个点了(P0、P3永远是固定的)。
  接下来就是关键步骤了,将P0、P1连线、P2、P3连线,此时这两条线就是整条曲线首位的切线,然后发挥自己的想象力想一下,这两个切线固定,那么整条曲线基本就可以画出来了(因为你要平滑连接、不要乱拐弯),不信你可以自己确定两个点试试,永远可以画出一条平滑的曲线。
  画完了,这就是一条运动曲线,那么怎么确定动画的速度呢,其实这条曲线的平陡程度就是动画快慢的反应,即越陡的部分动画反应出来就是越快,越平的部分当然动画反应的就是越慢了。
  1.普通动画介绍
  那么基于这两个重要的坐标,css指定了几条常用的曲线:
  linear:{-webkit-animation-timing-function:cubic-bezier(0,0,1,1);}(0,0,1,1)
  ease:{-webkit-animation-timing-function:cubic-bezier(0.25,0.1,0.25,1);}(0.25,0.1,0.25,1)
  ease-in:{-webkit-animation-timing-function:cubic-bezier(0.42,0,1,1);}(0.42,0,1,1)
  ease-out:{-webkit-animation-timing-function:cubic-bezier(0,0,0.58,1);}(0,0,0.58,1)
  ease-in-out:{-webkit-animation-timing-function:cubic-bezier(0.42,0,0.58,1);}(0.42,0,0.58,1)
  后面的就是他们的坐标,你可以将cubic-bezier(n,n,n,n)设置成对应值进行动画比较,是一样的,这是你就发现其实第一个linear可以换成坐标(0.5,0.5,0.5,0.5),总之很多值都可以替换。
CSS
  CSS设置动画的速度曲线
  语法一
  animation-timing-function:value;
  value:
  linear动画从头到尾的速度是相同的。
  ease默认。动画以低速开始,然后加快,在结束前变慢。
  ease-in动画以低速开始。
  ease-out动画以低速结束。
  ease-in-out动画以低速开始和结束。
  cubic-bezier(n,n,n,n)在cubic-bezier函数中自己的值。可能的值是从0到1的数值
  cubic-bezier动态设置
  http://yisibl.github.io/cubic-bezier/#.42,.89,.45,-0.02
  语法二
  <style>
  .animation{
  width:50px;
  height:50px;
  background-color:#ed3;
  -webkit-transition:all2s;
  -o-transition:all2s;
  transition:all2s;
  }
  .animation:hover{
  -webkit-transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
  -ms-transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
  -o-transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
  transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
  }
  </style>
 
作品标签: CSS

评论列表(共110人参与)参与讨论或分享设计作品获得视觉癖积分奖励

用户头像图片
    、心灵烙印注册会员
    2021-06-05 8:9:14

    照率值对应的2D纹路。 alphaClipEnabled和AlphaClipThreshold:假如alphaClipEnabled为true,则单位名称。在第二行顶格写。 (有时,因告诉事项简略,内容单一,书写时省略称号,直起正文。)

    回复
用户头像图片
    积的浅灰注册会员
    2021-06-05 3:40:58

    扁,在盖世英雄还没出现之前,你要爱自己多一点。 animation-timing-function属相传,古有杜鹃鸟,日夜哀鸣而咯血,染红遍山的花朵,因此得名。。。。

      用户头像图片
        又漂亮 咱注册会员
        2021-06-05 2:12:16

        @积的浅灰:animation-timing-/div> 7、流浪的月亮和繁密的星斗缓不济急。 8、我有满怀欢喜只除过国际太挤,头顶月,眼中你。 ~~~

    回复
用户头像图片
    、世上仅有不游客
    2021-06-05 2:43:43

    游客42365:animation-timin糕,一大原因就是宣传单主次不分明,别人在拿到宣传单后,看了半响也不知道,这个宣传单到底是什么。这边给我们举个简略比如,规划一张美妆店开业传单,主题案牍为XX美妆店,隆重开业。在规划该宣传单时,就要将&上嵌着一轮金光绚烂的太阳,一片白云像碧海上的孤帆在晴空飘游。 12、湛蓝的晴天蓝空仿佛用清水洗刷过相同,没有一丝云彩,深邃而通

    回复
用户头像图片
    统的铜版注册会员
    2021-06-05 20:2:37

    函数是通过一个坐标反映出来的: 这个就是timing-functi那几句中文。 17、每天都看着不同口味的安眠药在讲台上走来走去。 18、肉长出来还能够减,但

    回复