You are in an infinite 2D grid where you can move in any of the 8 directions : (x,y) to (x+1, y), (x - 1, y), (x, y+1), (x, y-1), (x-1, y-1), (x+1,y+1), (x-1,y+1), (x+1,y-1) You are given a sequence of points and the order in which you need to cover…
Find out the maximum sub-array of non negative numbers from an array.The sub-array should be continuous. That is, a sub-array created by choosing the second and fourth element and skipping the third element is invalid. Maximum sub-array is defined in…
.monster { width: 190px; height: 240px; margin: 2% auto; background: url('http://treehouse-code-samples.s3.amazonaws.com/CSS-DD/codepen/blog/monster.png') left center; animation: play .8s steps(10) infinite; } @keyframes play { 100% { background-posi…
在应用 CSS3 渐变/动画时,有个控制时间的属性 <timing-function> .它的取值中除了常用到的三次贝塞尔曲线以外,还有个让人比较困惑的 steps() 函数. steps() 第一个参数 number 为指定的间隔数(必须是正整数),即把动画分为 n 步阶段性展示,第二个参数默认为 end,设置最后一步的状态,start 为结束时的状态,end 为开始时的状态. 那么有了这个steps(),我们就可以实现web中常见的Sprite 精灵动画了,见demo: <!DOCT…
一.timing-function: steps() 一开始在使用CSS3的时候并没有太注意这个timing-function,只是注意到自定义贝塞尔曲线. 1)一个项目中的实例 先来看看左边加了steps和右边没加的区别.左边的是一锤一锤的,右边会出现影子. [注意下面这个demo在firefox中不能执行,只能在chrome中执行,因为我动画的是“background-image”属性] 代码如下,我只把关键的几个代码贴出来了,详细的可以 .btn-pay { 02   background…
animation默认以ease方式过渡,它会在每个关键帧之间插入补间动画,所以动画效果 是连贯性的.除了ease,linear.cubic-bezier之类的过渡函数都会为其插入补间. 但有些效果不需要补间,只需要关键帧之间的跳跃,这时应该使用steps过渡方式. 比如GIF动图不支持程序对播放的控制,也不支持Alpha通道.但如果我们用一个 PNG图片,把所有帧都放在一起,通过CSS3的animation控制background-position 来播放就可以做到这些. <style> @…
背景 一日敲代码的我,得到一个需求:写一个10秒的倒计时. 用JavaScript定时器麻溜写完之后,恰好同事勇司机接完水.瞟了一眼,然后凑过来说,这个用CSS3也可以写,而且一行JavaScript都不用写. "一行JavaScript都不用写,纯CSS3就可以写.CSS3有这么溜的操作!" ''对呀!CSS3 animation当中有一个steps(),你上网查一下就知道了!" "涨姿势了!赶紧查阅一下!" animation-timing-funct…
animation-timging-function 主要是控制css动画从开始到结束的速度. 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…
写在前面 上一篇中我们熟悉五种内置的缓动曲线和(三次)贝塞尔曲线,并且基于此完成了缓动效果. 但是如果我们想要实现逐帧动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要帧与帧之间的过渡状态,就像上篇中所看到的,所有基于贝塞尔曲线的调速函数都会在关键帧之间进行插值运算,从而产生平滑的过渡效果. 这个特性显然很棒,平滑的效果确实是我们使用css过渡和动画所追求的. 但是在逐帧动画的场景下,这种平滑的特性恰恰毁掉了我们想要实现的逐帧动画的效果. 逐帧动画 我们经常会看到一段卡通影片.…
昨天火急火燎地接到一个任务,说是要做一个掷骰子的游戏,关于掷骰子期间的过渡动画,我本来是想用css 3d制作一个立体的骰子,然后叫UI给6张平面图贴上去.再用translate3d来操作.然而UI考虑得十分周到,直接就给了我一个雪碧图,并告诉我在photoshop中可以用帧动画来播放几张图片,达到类似gif的效果,程序上实现也大抵如此吧. 卧槽真是个神奇的UI boy.   于是我顺着他的思路,用上了animation在timing-function中的steps属性. 先来看看UI给的图吧,是…