CSS3动画制作的简单示例

(编辑:jimmy 日期: 2025/2/25 浏览:2)

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 函数确定固定时间内动画运行的部分等于动画的帧数,从而实现动画效果。
动画实例

用猥琐的兔斯基做例子╮( ̄▽ ̄")╭
CSS3动画制作的简单示例

首先我们要切图,把动画的每一帧切成这样的图:
CSS3动画制作的简单示例

切图如果大家不想折腾,推荐在线合并雪碧图的工具。

然后写 keyframes

CSS Code复制内容到剪贴板
  1. @-webkit-keyframes tuski {   
  2.     0% {   
  3.         background-position:0;   
  4.     }   
  5.     100% {   
  6.         background-position: -576px 0;   
  7.     }   
  8. }   
  9. @-moz-keyframes tuski {   
  10.     0% {   
  11.         background-position:0;   
  12.     }   
  13.     100% {   
  14.         background-position: -576px 0;   
  15.     }   
  16. }   
  17. @keyframes tuski {   
  18.     0% {   
  19.         background-position:0;   
  20.     }   
  21.     100% {   
  22.         background-position: -576px 0;   
  23.     }   
  24. }  

调用动画

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

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

点这里看完整的代码。

大功告成。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?