博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3动画制作的简单示例
阅读量:6429 次
发布时间:2019-06-23

本文共 1594 字,大约阅读时间需要 5 分钟。

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

CSS3 Animation steps函数

首先看看,CSS3 animation的兼容性。可以看到基本上主流浏览器都支持了 animation 属性,chrome、safari、opera和移动端的浏览器带上前缀就可以支持。

利用雪碧图来制作动画使用了 CSS3 Animation 里面的一个重要的函数 steps。

animation 本身是一个复合的属性,它包含了 animation-name,animation-timing-function,animation-iteration-count,animation-direction,animation-play-state,animation-fill-mode 六个属性。

steps 就是属于 animation-timing-function 中的一个函数。

animation-timing-function 平时我们用的比较多的是默认的一些动画曲线值 ease、ease-in 等等。而 steps 则可以由我们控制动画被分成多少个部分进行。

steps(n,[start|end]) 传入一到两嘅个参数,第一个参数意思是把动画分成 n 等分,然后动画就会平均地运行。第二个参赛默认值是 start 表示从动画的开头开始运行,相反,end 就表示从动画的结尾开始运行。

因此,我们利用雪碧图和 steps 函数制作动画的原理就是,雪碧图包含了动画图片的每一帧,然后利用 steps 函数确定固定时间内动画运行的部分等于动画的帧数,从而实现动画效果。

动画实例

用猥琐的兔斯基做例子╮( ̄▽ ̄")╭

首先我们要切图,把动画的每一帧切成这样的图:

切图如果大家不想折腾,推荐。

然后写 keyframes

CSS Code复制内容到剪贴板
@-webkit-keyframes tuski {       0% {           background-position:0;       }       100% {           background-position: -576px 0;       }   }   @-moz-keyframes tuski {       0% {           background-position:0;       }       100% {           background-position: -576px 0;       }   }   @keyframes tuski {       0% {           background-position:0;       }       100% {           background-position: -576px 0;       }   }

  

调用动画

CSS Code复制内容到剪贴板
#tuski {       -webkit-animation: tuski .5s steps(12) infinite;       -moz-animation: tuski .5s steps(12) infinite;       animation: tuski .5s steps(12) infinite;   }

与 GIF 相比,这种动画可以让我们手动调整动画运行的速度。

点看完整的代码。

大功告成。

转载于:https://www.cnblogs.com/good10001/p/4793794.html

你可能感兴趣的文章
bzoj2427[HAOI2010]软件安装
查看>>
bzoj1593[Usaco2008 Feb]Hotel 旅馆*
查看>>
SQL语句中DateAdd 函数说明
查看>>
柔性数组
查看>>
WPF个人助手更新
查看>>
NLPIR技术助力中文智能数据挖掘
查看>>
python操作redis--------------数据库增删改查
查看>>
Android中仿IOS提示框的实现
查看>>
php初学第一课
查看>>
Windows下与Linux下编写socket程序的区别 《转载》
查看>>
java学习笔记 --- IO(3)
查看>>
buntu的ip设置
查看>>
Mysql 的FIND_IN_SET函数慢的忧化
查看>>
Web service是什么?
查看>>
Could not resolve placeholder
查看>>
怎么读书?
查看>>
手动删除data里面的mysql-bin文件后无法启动数据库
查看>>
Python基础学习五 内置函数
查看>>
移动端相关事件
查看>>
【重学计算机】操作系统D6章:并发程序设计
查看>>