今天小编跟大家讲解下有关CSS3动画制作的简单示例 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关CSS3动画制作的简单示例 的相关资料,希望小伙伴们看了有所帮助。
CSS3 大大强化了制作动画的能力 但是如果要做出图案比较复杂的动画 选择 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 函数确定固定时间内动画运行的部分等于动画的帧数 从而实现动画效果。动画实例
用猥琐的兔斯基做例子r( ̄ ̄")q
首先我们要切图 把动画的每一帧切成这样的图:
切图如果大家不想折腾 推荐在线合并雪碧图的工具。
然后写 keyframes
CSS Code复制内容到剪贴板 @-webkit-keyframestuski{ 0%{ background-position:0; } 100%{ background-position:-576px0; } } @-moz-keyframestuski{ 0%{ background-position:0; } 100%{ background-position:-576px0; } } @keyframestuski{ 0%{ background-position:0; } 100%{ background-position:-576px0; } }调用动画
CSS Code复制内容到剪贴板 #tuski{ -webkit-animation:tuski.5ssteps(12)infinite; -moz-animation:tuski.5ssteps(12)infinite; animation:tuski.5ssteps(12)infinite; }与 GIF 相比 这种动画可以让我们手动调整动画运行的速度。
点这里看完整的代码。
大功告成。
来源:爱蒂网