好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

定义动画

1. 定义动画

想要运行 一个 动画,就要先去定义 一个 动画 —— 鲁迅。

那么我们就先来看看矩形图要怎么定义动画:

  /* 清除浏览器 默 认边距 */ 
 *   {   padding  :   ;   margin  :   ;   } 

 body   { 
   /* 这段 代码 是为了居中 显示 ,不是重点,看不懂的话可以无视 */ 
   height  :  vh ; 
    dis play  :  flex ; 
   align-items  :  center ; 
   justify-content  :  center ; 

   /*  添加 背景图 */ 
   background  :   url(img/bg.jpg)  center / cover ; 
 } 

  .animate    { 
   background  :   url(img/rect.png)  ; 
 } 

 /* 定义动画:动画名(loading) */ 
  @keyframes  loading   { 
   from   {   background-position  :     }   /* 第 一个 数字代表x轴坐标,第二个数字代表y轴坐标 */ 
   10%   {   background-position  :  -px   }   /* x坐标:-130 y坐标:0 */ 
   20%   {   background-position  :  -px   } 	 /* x坐标:-260 y坐标:0 */ 
   30%   {   background-position  :  -px   } 	 /* x坐标:-390 y坐标:0 */ 
   40%   {   background-position  :  -px   } 	 /* x坐标:-520 y坐标:0 */ 
   50%   {   background-position  :   -px  } 	 /* x坐标:0 y坐标:-130 */ 
   60%   {   background-position  :  -px -px  }   /* x坐标:-130 y坐标:-130 */ 
   70%   {   background-position  :  -px -px  }   /* x坐标:-260 y坐标:-130 */ 
   80%   {   background-position  :  -px -px  }   /* x坐标:-390 y坐标:-130 */ 
   90%   {   background-position  :  -px -px  }   /* x坐标:-520 y坐标:-130 */ 
   to   {   background-position  :    }   /* 最后一帧 不显示 ,可以随便写 */ 
 }

定义 一个 名为 loading 的动画,Css Sprite上一共有 10 个元素,所以 在这里 我们定义 11 帧( 最后一帧看不到 )。

每一帧都要对准位置,整张Css Sprite的尺寸是 680px * 260px,2 行 5 列。

所以 高260 除以 行2 等于 130px、

宽 680 除以 列 5 还是等于 130px,所以我们的 div 宽高要设置成 130 * 130,第一帧到第五帧都是宽( 130px )的倍数,第一帧是0 * 130px,第二帧是1 * 130px,依此类推。

到了第五帧( 40% )的时候,整个第一行已经都过了一遍,所以第六帧( 50% )我们要换到第二行的行首。

于是 y 坐标由之前的 0 变成了 -130px,刚好是一行的高度。

有的同学可能会有 一个 疑问:为什么这些坐标都是负值呢?

我们还是用 图片 去理解:

image.png

小一点的方框代表我们的 div,大方块代表Css Sprite,原点为 左上角 。

如果是正值的话,就是Css Sprite 左上角 距离 div  左上角 右移。

image.png

如果值为负的话,就是左移。y 轴同理,正值下移,负值上移。

2. 小结

定义完动画的下一步就是 调用 动画了。

下一小节我们 调用 这个动画后将会出现 一个 帅气的加载动效,快来学习吧!

查看更多关于定义动画的详细内容...

  阅读:93次

上一篇

下一篇

第1节:什么是Css Sprite?    第2节:Css Sprite和雪碧之间有什么关系?    第3节:为什么要使用Css Sprite?    第4节:Css Sprite过时了吗?    第5节:JPG 格式图片    第6节:PNG 格式图片    第7节:SVG 格式图片    第8节:Css Sprite:矩形图    第9节:Css Sprite:条形图    第10节:背景图片    第11节:背景图定位    第12节:动态变更背景图位置    第13节:Css Sprite尺寸不吻合时怎么办?    第14节:过渡动画和帧动画的区别    第15节:适合过渡动画的场景    第16节:适合用帧动画的场景    第17节:帧动画和过渡动画的优缺点    第18节:CSS 动画的定义    第19节:CSS 动画的调用    第20节:帧动画函数steps()的解析    第21节:动画实例项目结构    第22节:定义动画    第23节:调用动画    第24节:连接两个Css Sprite的动画