首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

中国第五届CSS大会分享:CSS TIME

动画时间轴如下: ? 但通过加长时间长度的方式来实现波浪弹跳盒子,由于时间长度存在时间差,会导致动画循环 infinite波浪会错乱,效果如下: ?...这个动画实例抽样,是平时制作CSS动画较常见的一种关键点呼应的制作手法, animation写法如下: ? 动画关键帧轴如下: ? 动画关键帧keyframes如下: ? ?...bottom蓝色盒子其实是不动的,动的是外部容器,容器在0%~50%进行弹跳动画,50%~100%保持静止状态 up红色盒子则是在0%~50%保持静止状态,在50%~100%进行弹跳动画 两个动画,关键帧顺接拼接构成一个整体动画...上面的是单纯怪奇鹅主体动画,下面的则是添加了怪奇鹅手部与邮件的附属动作,对比之下,下面的动画会显得更加夸张且生动,这也就是有时候会发现,为什么做的动画会显得很“硬”不自然的缘故,因为缺少了一些细节,主体动画需要附属动画的承托...不用JS,单纯用CSS就可以制作小颗粒掉落反弹的随机感,html结构很简单,只需要8个标签作为载体,通过时间与延迟控制来实现,html结构如下: ? 动画关键帧keyframes如下: ?

1.6K20

H5动效的常见制作手法 - 腾讯ISUX

聊完了GIF动画的一些特点,那么我们必须同时对比一下它的堂兄弟:逐帧动画 。...动效制作手法2:逐帧动画 逐帧动画即是利用一张等间距的动画分解逐帧图片,由js脚本模拟编写或是使用css3新属性step()制作而成。step()在移动端的兼容性是很好的,但使用比较小众。...逐帧动画和GIF动画的差别在于,脚本可以控制逐帧动画的快慢和动作的暂停,而GIF动画无法在后期通过代码进行动画速率及透明度的修改。 ?...,二者结合就可以快速输出一个逐帧动画啦。...如以下这个例子,这是陌陌的一个宣传h5页面,它便是由逐帧分解图+JavaScript脚本模拟逐帧动画 拼合而成的。 ? ? 动效制作手法3:CSS3 CSS3应该是动画家族里绝对不会被遗忘的一名成员。

4.9K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2019年了,你还不会CSS动画?

    动图效果如下: ? 就是需求这么简单的一个动画,然而绝大多数人却不能答对。 不卖关子,我的答案是: ? 大部分面试者说,关于 CSS 动画,也看过一些教程,工作中却不怎么使用,因此就忘了。...animation-name 来指定动画使用的关键帧,这个是必须的。...需要提一下,计时函数属性另外的一个好玩的值是 steps 函数,可以用来实现逐帧动画: ? 计时函数属性介绍到此,后面一律使用值 linear,即表示匀速动画。...上面提到了可以使用 animation-delay 设置延迟时间。不为大家注意的是,延迟可以为负数。负延迟表示动画仿佛开始前就已经运行过了那么长时间。...拿上述进度条为例子,原动画用了 2s 是从 0% 加载到 100% 的。如果设置延迟为 -1s。这动画会从 50% 加载到 100%。仿佛已经运行了 1s 一样: ? CSS 动画是可以暂停的。

    43130

    过渡与动画 - 逐帧动画&steps调速函数

    但是如果我们想要实现逐帧动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要帧与帧之间的过渡状态,就像上篇中所看到的,所有基于贝塞尔曲线的调速函数都会在关键帧之间进行插值运算,从而产生平滑的过渡效果...这个特性显然很棒,平滑的效果确实是我们使用css过渡和动画所追求的。 但是在逐帧动画的场景下,这种平滑的特性恰恰毁掉了我们想要实现的逐帧动画的效果....逐帧动画 我们经常会看到一段卡通影片、一个复杂进度的提示框、一个小loading, 我们不会单纯的选择一张GIF动画胜任,因为它的局限性和短板表现的很明显....在某些场景下,基于图片的逐帧动画成了不错的选择。 ? steps()调速函数 写在前面中提到,我们不能基于贝塞尔曲线的调速函数完成我们所需要的逐帧动画,那么采用什么调速函数呢?...对,答案就是steps()调速函数,与贝塞尔曲线迥然不同的是,steps()会根据你指定的步进数量,把动画分为很多帧,而且整个动画会在帧与帧之间硬切,不会像贝塞尔曲线那样做插值处理。 ?

    1.4K70

    过渡与动画 - 逐帧动画&steps调速函数

    但是如果我们想要实现逐帧动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要帧与帧之间的过渡状态,就像上篇中所看到的,所有基于贝塞尔曲线的调速函数都会在关键帧之间进行插值运算,从而产生平滑的过渡效果...这个特性显然很棒,平滑的效果确实是我们使用css过渡和动画所追求的。 但是在逐帧动画的场景下,这种平滑的特性恰恰毁掉了我们想要实现的逐帧动画的效果....逐帧动画 我们经常会看到一段卡通影片、一个复杂进度的提示框、一个小loading, 我们不会单纯的选择一张GIF动画胜任,因为它的局限性和短板表现的很明显....在某些场景下,基于图片的逐帧动画成了不错的选择。 ? steps()调速函数 写在前面中提到,我们不能基于贝塞尔曲线的调速函数完成我们所需要的逐帧动画,那么采用什么调速函数呢?...对,答案就是steps()调速函数,与贝塞尔曲线迥然不同的是,steps()会根据你指定的步进数量,把动画分为很多帧,而且整个动画会在帧与帧之间硬切,不会像贝塞尔曲线那样做插值处理。 ?

    65110

    过渡与动画 - 逐帧动画&steps调速函数

    但是如果我们想要实现逐帧动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要帧与帧之间的过渡状态,就像上篇中所看到的,所有基于贝塞尔曲线的调速函数都会在关键帧之间进行插值运算,从而产生平滑的过渡效果...这个特性显然很棒,平滑的效果确实是我们使用css过渡和动画所追求的。 但是在逐帧动画的场景下,这种平滑的特性恰恰毁掉了我们想要实现的逐帧动画的效果....逐帧动画 我们经常会看到一段卡通影片、一个复杂进度的提示框、一个小loading, 我们不会单纯的选择一张GIF动画胜任,因为它的局限性和短板表现的很明显....在某些场景下,基于图片的逐帧动画成了不错的选择。 ? steps()调速函数 写在前面中提到,我们不能基于贝塞尔曲线的调速函数完成我们所需要的逐帧动画,那么采用什么调速函数呢?...对,答案就是steps()调速函数,与贝塞尔曲线迥然不同的是,steps()会根据你指定的步进数量,把动画分为很多帧,而且整个动画会在帧与帧之间硬切,不会像贝塞尔曲线那样做插值处理。 ?

    1.3K100

    初识属性动画——使用Animator创建动画

    =f(time),随着时间计算属性的函数 重复次数和行为:可以指定动画是否重复,以及重复次数;也可以指定动画是否reverse AnimatorSet:可以组合多个动画,同时作用or分批作用 帧刷新延迟...:可以指定多久刷新一帧动画,默认值是每10s刷新一帧,但实际上的值还是要依赖于系统的实际运行情况。...一个动画,40ms,从左向右移动40pixel,每隔10ms,新的帧被画出来了,动画停止时,View停在了最终位置。...创建一个动画并开启后,属性动画主要有三步操作: 根据时间流失,得到一个已过时间因子,这个值的范围是[0,1],以上面的例子为例,总时长40ms,而每一帧10ms,第一帧的已过时间因子就是0.25 得到已过时间因子后...AnimatorSet 如果需要同时开启多个动画,那么可以使用AnimatorSet,串联组织多个动画。 先看效果: ?

    73120

    动画还可以这样控制?

    今天,有在群里看到这样一个问题:有一个动画,一开始静止处于第一帧,只在用户 hover 的时候运行动画,在运行一次后停止,并且停留在最后一帧,使用 CSS 可以完成么?...: both 兼顾了上面两种模式的特点,可以使得动画开始前的样式为动画运行时的第一帧,动画结束后停在最后一帧。...基于上述两点,我们来实现一个有意思的打字动画,做到动画只触发单次,并且只有 hover 的时候动画会运行。 Hover Me - You are a pig!...当然,这里还运用了几个小技巧,一并解释下: 打字动画运用了逐帧动画,而不是补间动画,主要利用了 CSS 动画的 step-timing-function 步骤缓动函数,也就是代码中的 steps(15,...这一段文字算上空格刚好 26 个字符,26ch 刚好表示这一段文本的长度 一开始展示的文本 Hover me - 算上空格是 11ch 宽度,而最后整个文本展示完需要 26ch 的宽度,中间需要经过 15 步的逐帧动画

    60530

    Web 动画原则及技巧浅析

    ,可以利用 CSS Aniation 的 Steps,画面由一帧一帧构成,类似于漫画书 TweenAnimation(补间动画):补间动画是在时间帧上进行关键帧绘制,不同于逐帧动画的每一帧都是关键帧...我们在用 CSS 实现动画的过程中,使用的比较多的应该是补间动画,逐帧动画也很有意思,譬如设计师设计好的复杂动画,利用多张图片拼接成逐帧动画也非常不错。...逐帧动画和补间动画适用在不同的场合,没有谁更好,只有谁更合适,比较下面两个时钟动画,其中一个的秒针运用的是逐帧动画,另外一个则是补间动画: 时钟秒针运用的是逐帧动画: ?...CodePen Demo -- CSS Rotary Clock By Jake Albaugh 有的时候一些复杂动画无法使用 CSS 直接实现的,也会利用逐帧的效果近似实现一个补间动画,像是苹果这个耳机动画...,就是实际逐帧动画,但是看起来是连续的: ?

    78430

    关于交互动效视觉设计的些许笔记

    1、动效设计的三个原则 有序一致(运动规律、交互与动效的衔接) 产品调性(动效是否符合产品调性?...整体稳or惊艳) 愉悦用户(让用户感到愉悦、惊喜、眼前一亮) 2、交互意义 动效在整体上大部的稳的、简洁的,在细节上是可以风骚的 要考虑动效对用户使用是否有用,有何交互意义?...推荐动效团队:yalantis ramotion 要关心动画链的制作,完成第一个动画之后完成第二个,完成第二个之后完成第三个......例如:iOS 自带的动画语法、知识 Ios自带的弹性动画、缓动动画、关键帧动画、路径动画、粒子动画、 逐帧动画 安卓 三种:view 补间动画 property...属性动画 drawable 逐帧动画 均可添加贝塞尔差值、加曲线 5、了解开发-标注 标注:运动规律、那些值产生了变化(加速减速、变化值)、动效时间 差值器速查应用

    66430

    AI 赋能游戏工业化,网易互娱AI Lab动捕去噪新方法入选 SIGGRAPH 2021

    在游戏中,各个角色存在大量动作动画资源制作的需求,而让游戏角色获得如同真人一般流畅自然的动作历来是制作者们孜孜不倦追求的目标。...近年来,伴随着游戏工业化的趋势,光学动捕凭借其真实性和效率替代了传统的关键帧制作方式,成为许多大制作端游和手游的首选方案。...相比于传统的关键帧动画制作方式,运动捕捉技术有着巨大的优势,既提升了三维动作资源的真实度,又提升了其生产效率,也因此成为了当前影视、游戏行业三维人形动画的标准制作方式。...典型的处理流程为,先对raw markers进行自动解算得到存在缺陷的骨骼动画,人工对得到的动画进行逐帧预览,寻找存在问题的区间,然后人工纠正该区间内导致解算结果异常的marker点。...本质上来说,该方法基于逐帧处理的算法框架,没有考虑相邻动作帧之间在时间和空间上的连续性,导致其输出的动画存在明显的抖动。为了解决这个问题,该方法引入了一个后处理操作对输出的动画进行平滑、从而抑制抖动。

    83140

    前端动画实现笔记

    主画师绘制关键帧,补间动画师补充关键帧。(而在前端中,补间动画师就由浏览器来当,如 keyframe 和 transition) 逐帧动画:每一帧都由主画师绘制。...CSS steps 实现逐帧动画 效果(直接打开可能会看不了,可能要科学上网,蒋翔老师的这张图片好像是放到 github 上的) 1.6 CSS 动画优缺点 优点:简单、高效。...可以实现描字、形变等特殊效果 缺点:使用复杂(个人现阶段属于是一头雾水) 3. JS 动画 JS 可以实现很多复杂的动画,还可以操作 canvas 进行绘制。...当页面在后台时,也就不会有重绘,所以回调函数也不会运行,所以动画会暂停,不会消耗资源 */ } else { resolve(); }...}); }); } 参数: easing:缓动函数。

    1.6K40

    前端动效讲解与实战

    实现(2)补间动画(Tween动画\关键帧动画)CSS实现(transition、animation等)使用一些缓动函数JS实现(3)SVG动画使用 XML 格式定义图形可以用AI等SVG编辑工具生成SVG...(perspective属性、css3d-engine)场景搭建用webGL(Three.js等)3D模型动画用Blender或maya等制作完成后导出使用2.3.1 逐帧动画(序列帧动画)逐帧动画是在时间帧上逐帧绘制帧内容...由于逐帧动画的帧序列内容不一样,不仅增加制作负担而且最终输出的文件量也很大,但它的优势也很明显:因为它相似与电影播放模式,很适合于表演很细腻的动画,如3D效果、人物或动物急剧转身等等效果。...animation-timing-function缓动函数的阶梯函数steps(number_of_steps, direction)来实现逐帧动画的连续播放的。...复杂的展示型动画:如果所需的资源很小,可以先考虑使用GIF动图或者逐帧动画CSS实现;如果所需的资源较大,可以使用Lottie方案,然后设计同学用AE到处动画json,将动画还原为svg/canvas/

    2.7K30

    深入浅出 CSS 动画

    ,就是利用其来实现逐帧动画。...同个动画效果的补间动画和逐帧动画演绎对比 上述的三次贝塞尔曲线缓动和步骤缓动,其实就是对应的补间动画和逐帧动画。 对于同个动画而言,有的时候两种缓动都是适用的。我们在具体使用的时候需要具体分析选取。...假设我们用 CSS 实现了这样一个图形: 现在想利用这个图形制作一个 Loading 效果,如果利用补间动画,也就是三次贝塞尔曲线缓动的话,让它旋转起来,得到的效果非常的一般: .g-container...有一些更强力的优化,如果与 will-change 结合在一起的话,有可能会消耗很多机器资源,如果过度使用的话,可能导致页面响应缓慢或者消耗非常多的资源。...过度使用 will-change 会导致大量的内存占用,并会导致更复杂的渲染过程,因为浏览器会试图准备可能存在的变化过程。这会导致更严重的性能问题。

    1.8K40

    纯血鸿蒙APP实战开发——自定义视图实现Tab效果

    介绍本示例介绍使用Text、List等组件,添加点击事件onclick,动画,animationTo实现自定义Tab效果。...实现思路页签实现:添加onClick方法,记录点击的index,index变化后,改变页签颜色、字体大小,使用animateTo方法实现页签切换动画。...= this.getTransitionX(idx); }) } })内容区实现:使用List,添加滑动手势来进行页面的切换,手势响应后,使用scrollToIndex方法来实现平滑的滑动到相应...12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......高性能知识点scrollToIndex方法,开启smooth动效时...,会对经过的所有item进行加载和布局计算,当大量加载item时会导致性能问题工程结构&模块类型 customview /

    7920

    iOS 客户端动图优化实践

    来做动画的展示, 同时添加帧解码任务....使用这套方案加载动图有如下三个问题: 当且仅当所有帧图片都加载完毕时,才能够显示, 特别是在做异步解码的时候, 会导致动图首帧加载时长较长. 不同帧的展示时长一样,使得动图失真....4.1 解码每一帧导致首帧加载太慢 怎么基于异步加载框架实现动图的逐帧加载呢?...这样实现一个既支持异步加载又能逐帧解码动图组件, 下图是动图解码优化的流程, 红色字是逐帧加载的改造. 4.1.2 首帧耗时 改造完之后, 需要验证逐帧加载方案是否会在首帧加载上有所改善....思路总结 主要优化手段以及目的: 使用动图逐帧加载的方案, 避免在动图展示之前就全部解码消耗太多内存, 并提升首帧耗时.

    5.9K40

    为什么 CSS 动画比 JavaScript 高效?

    那当然不可能啊,我这么摸鱼,怎么会为了个封面图上号呢 废话不多说,其实上面的动图用代码实现也不会很困难,这个图是用 canva 做出来的。...JS 动画 首先,JS 动画是逐帧动画,在时间帧上绘制内容,一帧一帧的,所以他的可再造性很高,几乎可以完成任何你想要的动画形式。但是由于逐帧动画的内容不一样,会增加制作的负担,占用比较大的资源空间。...第一点 从实现动画的复杂度来看,CSS 动画大多数都是补间动画,而 JS 动画是逐帧动画。...当然还有一个重要的点:JS 动画运行在 CPU,而 CSS 动画运行在 GPU 总的来说, CSS动画的渲染成本小,并且它的执行效率高于 JavaScript 动画 ---- 那我们什么时候使用 CSS...动画,什么时候使用 JS 动画呢?

    69110

    为什么 CSS 动画比 JavaScript 高效?

    那当然不可能啊,我这么摸鱼,怎么会为了个封面图上号呢 废话不多说,其实上面的动图用代码实现也不会很困难,这个图是用 canva 做出来的。...JS 动画 首先,JS 动画是逐帧动画,在时间帧上绘制内容,一帧一帧的,所以他的可再造性很高,几乎可以完成任何你想要的动画形式。但是由于逐帧动画的内容不一样,会增加制作的负担,占用比较大的资源空间。...第一点 从实现动画的复杂度来看,CSS 动画大多数都是补间动画,而 JS 动画是逐帧动画。...当然还有一个重要的点:JS 动画运行在 CPU,而 CSS 动画运行在 GPU 总的来说, CSS动画的渲染成本小,并且它的执行效率高于 JavaScript 动画 ---- 那我们什么时候使用 CSS...动画,什么时候使用 JS 动画呢?

    93820

    彻底了解CSS3帧动画

    使用这个定时函数,动画会一直保持初始状态直到动画结束,然后立刻跳转到结束状态。 例如下面的例子: ? timing-function 效果如下图: ?...这个时候要用的 animation-delay,属性了,它表示延迟多长时间才执行动画,也可以指定多个值,每个值用逗号隔开。...还是上面的代码,只是多加了一个代码: animation-delay: 0s, 1s; 三个动画,但只分配了两个值,这时候,a3 动画会使用第一个值,即这个动画不会有延时,它会与 a1 动画同时开始。...例如下面的例子,当鼠标放入 .box 元素上时,动画会暂停,移开后动画会再次启动。...animation-play-state @keyframes @keyframes 是关键帧的实现。关键帧使用百分数来指定动画发生的时间点。0% 表示动画的第一时刻,100% 表示动画的最终时刻。

    98620
    领券