steps() 设置间隔参数,可以实现分步过渡

第一个参数指定了时间函数中的间隔数量(必须是正整数)
第二个参数可选,接受 start 和 end 两个值,指定在每个间隔的起点或是终点发生阶跃变化,默认为 end

steps() 的实现方法:

  1. .heart{
  2.     background-image: url('images/heart-sprite.png');
  3.     -webkit-animation: animate 1s steps(28) infinite;
  4.             animation: animate 1s steps(28) infinite;
  5. }
  6. .star{
  7.     background-image: url('images/star-sprite.png');
  8.     -webkit-animation: animate 1s steps(28) infinite;
  9.             animation: animate 1s steps(28) infinite;
  10. }
  11. @keyframes animate {
  12.     from {
  13.         background-position: 0 0;
  14.     }
  15.     to {
  16.         background-position: -2800px 0;
  17.     }
  18. }

step-start 可以实现与 steps() 效果相同的动画

step-start 等同于 steps(10,start) 动画分成10步,动画执行时为开始左侧端点的部分为开始。
step-end 等同于 steps(10,end) 动画分成10步,动画执行时以结尾端点为开始,默认值为 end

step-start 的实现方法:

  1. .heartTwo{
  2.     background-image: url('images/heart-sprite.png');
  3.     -webkit-animation: animateTwo 1s infinite step-start;
  4.             animation: animateTwo 1s infinite step-start;
  5. }
  6. .starTwo{
  7.     background-image: url('images/star-sprite.png');
  8.     -webkit-animation: animateTwo 1s infinite step-start;
  9.             animation: animateTwo 1s infinite step-start;
  10. }
  11. @keyframes animateTwo {
  12.     0%   {  background-position: 0 0; }
  13.     3.4% {  background-position: -100px 0; }
  14.     6.8% {  background-position: -200px 0; }
  15.     10.2%{  background-position: -300px 0; }
  16.     13.6%{  background-position: -400px 0; }
  17.     17%  {  background-position: -500px 0; }
  18.     20.4%{  background-position: -600px 0; }
  19.     23.8%{  background-position: -700px 0; }
  20.     27.2%{  background-position: -800px 0; }
  21.     30.6%{  background-position: -900px 0; }
  22.     34%  {  background-position: -1000px 0; }
  23.     37.4%{  background-position: -1100px 0; }
  24.     40.8%{  background-position: -1200px 0; }
  25.     44.2%{  background-position: -1300px 0; }
  26.     47.6%{  background-position: -1400px 0; }
  27.     51%  {  background-position: -1500px 0; }
  28.     54.4%{  background-position: -1600px 0; }
  29.     57.8%{  background-position: -1700px 0; }
  30.     61.2%{  background-position: -1800px 0; }
  31.     64.6%{  background-position: -1900px 0; }
  32.     68%  {  background-position: -2000px 0; }
  33.     71.4%{  background-position: -2100px 0; }
  34.     74.8%{  background-position: -2200px 0; }
  35.     78.2%{  background-position: -2300px 0; }
  36.     81.6%{  background-position: -2400px 0; }
  37.     85%  {  background-position: -2500px 0; }
  38.     88.4%{  background-position: -2600px 0; }
  39.     91.8%{  background-position: -2700px 0; }
  40.     95.2%{  background-position: -2800px 0; }
  41.     100% {  background-position: 0 0; }
  42. }

steps(1,start) 等同于 step-startsteps(1,end) 等同于 step-end

动画帧数在线生成:http://tid.tenpay.com/labs/css3_keyframes_calculator.html

CSS animation-timing-function 属性中的 steps() 与 step-start,step-end的更多相关文章

  1. CSS3 animation属性中的steps实现GIF动图(逐帧动画)

    相信 animation 大家都用过很多,知道是 CSS3做动画用的.而我自己就只会在 X/Y轴 上做位移旋转,使用 animation-timing-function 规定动画的速度曲线,常用到的 ...

  2. CSS魔法堂:更丰富的前端动效by CSS Animation

    前言  在<CSS魔法堂:Transition就这么好玩>中我们了解到对于简单的补间动画,我们可以通过transition实现.那到底多简单的动画适合用transtion来实现呢?答案就是 ...

  3. js中Function引用类型中一些常见且有用的方法和属性

    Function类型 函数由于是Function类型的一个实例,所以函数名就是一个指向函数对象的指针,不会与某个函数死死的连接在一起,这也导致了js中没有真正的重载,但好处是,函数对象可以作为另一个函 ...

  4. [1.1W字] 复习: CSS 9个背景属性&6种渐变函数, 学会可以手写实现AI中强大的"任意渐变"! #Archives009

    Title/ CSS Background&Gradient完全指南 #Archives009 序: 关于 background 属性, 了解点CSS的人总会知道个大概. 但是你肯定多半还有点 ...

  5. CSS——简写属性(在padding和margin这样的简写属性中,值赋值的顺序是top、right、bottom、left)

    /* 在padding和margin这样的简写属性中,值赋值的顺序是top.right.bottom.left. 它们还有其他简写方式,例如给padding两个值,则第一个值表示top/bottom, ...

  6. 利用 CSS animation 和 CSS sprite 制作动画

    CSS3 大大强化了制作动画的能力,但是如果要做出图案比较复杂的动画,选择 GIF 依然是一个不错的选择.今天给大家介绍一个使用 CSS animation 配合雪碧图(CSS sprite)来制作动 ...

  7. 脚本化CSS类-HTML5 classList属性

    HTML元素可以有多个CSS类名,class属性保存了一个用空格隔开的类名列表.标识符class在JavaScript中是保留字,所以在JavaScript中可以用className. //如下代码设 ...

  8. CSS Animation triggers text rendering change in Safari

    薄荷新首页上周五内测,花哥反馈在 MacBook Safari 浏览器下 鼠标移动到第一个商品的时候后面几个商品的文字会加粗.这是什么鬼??? 待我回到家打开笔记本,鼠标蹭蹭蹭的发现问题远不止如此: ...

  9. No.6 - 利用 CSS animation 制作一个炫酷的 Slider

    *{ margin:; padding:; } div{ margin: auto; width: 800px; height: 681px; position: relative; overflow ...

随机推荐

  1. Radio Transmission(bzoj 1355)

    Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Input 第一行给出字符串的长度,1 < L ≤ 1, ...

  2. KVM 网络虚拟化基础

    网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...

  3. Python入门--9--格式化

    字符串格式化符号含义    符   号    说     明      %c    格式化字符及其ASCII码      %s    格式化字符串      %d    格式化整数      %o   ...

  4. 装B技能GET起来!Apple Pay你会用了吗?

    科技圈儿有一个自带光环的品牌 它每次一有任何动静 不用宣传 也不用刻意营销 消息还是能传天下 2月18日 你敢说你的朋友圈儿没有被下面这个词儿刷屏? Apple Pay 这不,我就跟着凑凑热闹,开个小 ...

  5. T3054 高精度练习-文件操作 codevs

    http://codevs.cn/problem/3054/ 题目描述 Description   输入一组数据,将每个数据加1后输出 输入描述 Input Description 输入数据:两行,第 ...

  6. Jetson TK1 三:项目相关安装

    ROS.QT.pyserial2.7.罗技手柄驱动.navigation.slam和rviz等 激光雷达IP设置,tk1对应的IP设置,tk1串口设置 一.安装ros参见官网 二.安装QT 百度QT官 ...

  7. 因chmod /usr致使raspberryPi重装

    一.系统安装noobs 设置用户名及密码,设置超级用户root密码:  sudo passwd root,回车后按提示输入两次root的密码(注意,输入时是不会提示*号的,直接输入即可) 二.源及软件 ...

  8. MySQL主从架构配置

    MySQL主从架构配置有两台MySQL数据库服务器master和slave,master为主服务器,slave为从服务器,初始状态时,master和slave中的数据信息相同,当master中的数据发 ...

  9. android CheckBox使用和状态获得

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  10. 若菜acmer感觉自己智商全然被碾压了QAQ~~

    题目大意是:输入n,m,给出n*m(n.m<=100)的不是正规的布满棋子的棋盘,求最少改几个棋子能够使得棋盘正规,正规的棋盘必须是每一个相邻的棋子颜色都不同(仅仅有黑白两种,用0,1取代) 比 ...