CSS animation-timing-function 属性中的 steps() 与 step-start,step-end
steps()
设置间隔参数,可以实现分步过渡
第一个参数指定了时间函数中的间隔数量(必须是正整数)
第二个参数可选,接受start
和end
两个值,指定在每个间隔的起点或是终点发生阶跃变化,默认为end
。
steps()
的实现方法:
.heart{
background-image: url('images/heart-sprite.png');
-webkit-animation: animate 1s steps(28) infinite;
animation: animate 1s steps(28) infinite;
}
.star{
background-image: url('images/star-sprite.png');
-webkit-animation: animate 1s steps(28) infinite;
animation: animate 1s steps(28) infinite;
}
@keyframes animate {
from {
background-position: 0 0;
}
to {
background-position: -2800px 0;
}
}
step-start
可以实现与 steps()
效果相同的动画
step-start
等同于steps(10,start)
动画分成10步,动画执行时为开始左侧端点的部分为开始。step-end
等同于steps(10,end)
动画分成10步,动画执行时以结尾端点为开始,默认值为end
。
step-start
的实现方法:
.heartTwo{
background-image: url('images/heart-sprite.png');
-webkit-animation: animateTwo 1s infinite step-start;
animation: animateTwo 1s infinite step-start;
}
.starTwo{
background-image: url('images/star-sprite.png');
-webkit-animation: animateTwo 1s infinite step-start;
animation: animateTwo 1s infinite step-start;
}
@keyframes animateTwo {
0% { background-position: 0 0; }
3.4% { background-position: -100px 0; }
6.8% { background-position: -200px 0; }
10.2%{ background-position: -300px 0; }
13.6%{ background-position: -400px 0; }
17% { background-position: -500px 0; }
20.4%{ background-position: -600px 0; }
23.8%{ background-position: -700px 0; }
27.2%{ background-position: -800px 0; }
30.6%{ background-position: -900px 0; }
34% { background-position: -1000px 0; }
37.4%{ background-position: -1100px 0; }
40.8%{ background-position: -1200px 0; }
44.2%{ background-position: -1300px 0; }
47.6%{ background-position: -1400px 0; }
51% { background-position: -1500px 0; }
54.4%{ background-position: -1600px 0; }
57.8%{ background-position: -1700px 0; }
61.2%{ background-position: -1800px 0; }
64.6%{ background-position: -1900px 0; }
68% { background-position: -2000px 0; }
71.4%{ background-position: -2100px 0; }
74.8%{ background-position: -2200px 0; }
78.2%{ background-position: -2300px 0; }
81.6%{ background-position: -2400px 0; }
85% { background-position: -2500px 0; }
88.4%{ background-position: -2600px 0; }
91.8%{ background-position: -2700px 0; }
95.2%{ background-position: -2800px 0; }
100% { background-position: 0 0; }
}
steps(1,start)
等同于 step-start
,steps(1,end)
等同于 step-end
动画帧数在线生成:http://tid.tenpay.com/labs/css3_keyframes_calculator.html
CSS animation-timing-function 属性中的 steps() 与 step-start,step-end的更多相关文章
- CSS3 animation属性中的steps实现GIF动图(逐帧动画)
相信 animation 大家都用过很多,知道是 CSS3做动画用的.而我自己就只会在 X/Y轴 上做位移旋转,使用 animation-timing-function 规定动画的速度曲线,常用到的 ...
- CSS魔法堂:更丰富的前端动效by CSS Animation
前言 在<CSS魔法堂:Transition就这么好玩>中我们了解到对于简单的补间动画,我们可以通过transition实现.那到底多简单的动画适合用transtion来实现呢?答案就是 ...
- js中Function引用类型中一些常见且有用的方法和属性
Function类型 函数由于是Function类型的一个实例,所以函数名就是一个指向函数对象的指针,不会与某个函数死死的连接在一起,这也导致了js中没有真正的重载,但好处是,函数对象可以作为另一个函 ...
- [1.1W字] 复习: CSS 9个背景属性&6种渐变函数, 学会可以手写实现AI中强大的"任意渐变"! #Archives009
Title/ CSS Background&Gradient完全指南 #Archives009 序: 关于 background 属性, 了解点CSS的人总会知道个大概. 但是你肯定多半还有点 ...
- CSS——简写属性(在padding和margin这样的简写属性中,值赋值的顺序是top、right、bottom、left)
/* 在padding和margin这样的简写属性中,值赋值的顺序是top.right.bottom.left. 它们还有其他简写方式,例如给padding两个值,则第一个值表示top/bottom, ...
- 利用 CSS animation 和 CSS sprite 制作动画
CSS3 大大强化了制作动画的能力,但是如果要做出图案比较复杂的动画,选择 GIF 依然是一个不错的选择.今天给大家介绍一个使用 CSS animation 配合雪碧图(CSS sprite)来制作动 ...
- 脚本化CSS类-HTML5 classList属性
HTML元素可以有多个CSS类名,class属性保存了一个用空格隔开的类名列表.标识符class在JavaScript中是保留字,所以在JavaScript中可以用className. //如下代码设 ...
- CSS Animation triggers text rendering change in Safari
薄荷新首页上周五内测,花哥反馈在 MacBook Safari 浏览器下 鼠标移动到第一个商品的时候后面几个商品的文字会加粗.这是什么鬼??? 待我回到家打开笔记本,鼠标蹭蹭蹭的发现问题远不止如此: ...
- No.6 - 利用 CSS animation 制作一个炫酷的 Slider
*{ margin:; padding:; } div{ margin: auto; width: 800px; height: 681px; position: relative; overflow ...
随机推荐
- day02-菜单处理
解决力度到按钮的级别 ----------------------------------------------------------------------------------------- ...
- Gdb学习笔记1
其实,从很早就开始接触gdb程序,gdb调试程序伴我成长,现在对其用法记录以下: 当程序的运行结果和预期结果不一致,或者程序出现运行错误时,gdb就可以派上大用处了.调试的基本过程是: -> ...
- 某考试 T2 sum
为什么其他人都是插值套插值啊,,,,就我是XJB做的吗2333 k次多项式的前缀和可以表示成k+1次多项式,用两次这个玩意就可以发现g可以表示成一个k+2次多项式. 然后我的做法是把g用拉格朗日插值+ ...
- Linux索引节点(Inode:no space for device)用满导致的一次故障
问题描写叙述 在storm測试环境集群上上nimbus和supervisor自己主动挂调.重新启动时显示no space for device,也不能创建,加入文件及文件夹,df -h查看 ilesy ...
- poj1351Number of Locks(记忆化搜索)
题目链接: 传送门 思路: 这道题是维基百科上面的记忆化搜索的例题... 四维状态dp[maxn][5][2][5]分别表示第几根棒子,这根棒子的高度,是否达到题目的要求和使用不同棒子数.那么接下来就 ...
- 在canvas上面拖拽对象。
原文:https://html5.litten.com/how-to-drag-and-drop-on-an-html5-canvas/ 下面作者的原始的版本会抖动一下(鼠标刚点下去的时候,位置会发生 ...
- SolidEdge如何绘制变化半径倒圆角
1 在要变化半径的边上打一些点 2 点击倒角命令的参数对话框,选择可变半径 3 选择倒角的直线,右击确认,再依次点击关键点,修改倒角数值,修改之后按回车,继续下一个点,直到结束.
- AngularJs概述
- Excel实用技巧-如何批量提取excel工作表名称
Excel实用技巧-如何批量提取excel工作表名称 1. 打开Excel文件,点击“公式”栏,进而点击“定义管理器” 2. 在弹出的对话框中,点击新增按钮, 名称:“sheet”,引用位置:“=RE ...
- 聊聊高并发(二十四)解析java.util.concurrent各个组件(六) 深入理解AQS(四)
近期总体过了下AQS的结构.也在网上看了一些讲AQS的文章,大部分的文章都是泛泛而谈.又一次看了下AQS的代码,把一些新的要点拿出来说一说. AQS是一个管程.提供了一个主要的同步器的能力,包括了一个 ...