CSS3 动画
CSS3 动画
CSS3 �以创建动画,它�以�代许多网页动画图��Flash 动画和 JavaScript 实现的效果。
动画
CSS3 @keyframes 规则
è¦�创建 CSS3 åŠ¨ç”»ï¼Œä½ éœ€è¦�了解 @keyframes 规则。
@keyframes 规则是创建动画。
@keyframes 规则内指定一个 CSS æ ·å¼�和动画将é€�æ¥ä»Žç›®å‰�çš„æ ·å¼�æ›´æ”¹ä¸ºæ–°çš„æ ·å¼�。
�览器支�
è¡¨æ ¼ä¸çš„æ•°å—表示支æŒ�该属性的第一个æµ�览器版本å�·ã€‚
紧跟在 -webkit-, -ms- 或 -moz- å‰�的数å—为支æŒ�该å‰�缀属性的第一个æµ�览器版本å�·ã€‚
| 属性 | |||||
|---|---|---|---|---|---|
| @keyframes | 43.0 4.0 -webkit- |
10.0 | 16.0 5.0 -moz- |
9.0 4.0 -webkit- |
30.0 15.0 -webkit- 12.0 -o- |
| animation | 43.0 4.0 -webkit- |
10.0 | 16.0 5.0 -moz- |
9.0 4.0 -webkit- |
30.0 15.0 -webkit- 12.0 -o- |
实例
CSS3 动画
当在 @keyframes 创建动画,把它绑定到一个选择器,�则动画�会有任何效果。
指定至少这两个CSS3的动画属性绑定�一个选择器:
- 规定动画的�称
- 规定动画的时长
实例
把 "myfirst" 动画æ�†ç»‘到 div å…ƒç´ ï¼Œæ—¶é•¿ï¼š5 秒:
�试一下 »
注æ„�: 您必须定义动画的å��称和动画的æŒ�ç»æ—¶é—´ã€‚如果çœ�略的æŒ�ç»æ—¶é—´ï¼ŒåŠ¨ç”»å°†æ— æ³•è¿�è¡Œï¼Œå› ä¸ºé»˜è®¤å€¼æ˜¯0。
CSS3动画是什么?
åŠ¨ç”»æ˜¯ä½¿å…ƒç´ ä»Žä¸€ç§�æ ·å¼�é€�æ¸�å�˜åŒ–为å�¦ä¸€ç§�æ ·å¼�的效果。
您å�¯ä»¥æ”¹å�˜ä»»æ„�å¤šçš„æ ·å¼�ä»»æ„�多的次数。
请用百分比æ�¥è§„定å�˜åŒ–å�‘生的时间,或用关键è¯� "from" å’Œ "to",ç‰å�ŒäºŽ 0% å’Œ 100%。
0% 是动画的开始,100% 是动画的完�。
为了得到最佳的�览器支�,您应该始终定义 0% 和 100% 选择器。
实例
当动画为 25% � 50% 时改�背景色,然�当动画 100% 完�时�次改�:
�试一下 »
实例
改�背景色和�置:
�试一下 »
CSS3的动画属性
下é�¢çš„è¡¨æ ¼åˆ—å‡ºäº† @keyframes 规则和所有动画属性:
| 属性 | �述 | CSS |
|---|---|---|
| @keyframes | 规定动画。 | 3 |
| animation | 所有动画属性的简写属性。 | 3 |
| animation-name | 规定 @keyframes 动画的�称。 | 3 |
| animation-duration | 规定动画完�一个周期所花费的秒或毫秒。默认是 0。 | 3 |
| animation-timing-function | 规定动画的速度曲线。默认是 "ease"。 | 3 |
| animation-fill-mode | 规定当动画ä¸�æ’æ”¾æ—¶ï¼ˆå½“动画完æˆ�æ—¶ï¼Œæˆ–å½“åŠ¨ç”»æœ‰ä¸€ä¸ªå»¶è¿Ÿæœªå¼€å§‹æ’æ”¾æ—¶ï¼‰ï¼Œè¦�åº”ç”¨åˆ°å…ƒç´ çš„æ ·å¼�。 | 3 |
| animation-delay | 规定动画何时开始。默认是 0。 | 3 |
| animation-iteration-count | è§„å®šåŠ¨ç”»è¢«æ’æ”¾çš„æ¬¡æ•°ã€‚默认是 1。 | 3 |
| animation-direction | 规定动画是å�¦åœ¨ä¸‹ä¸€å‘¨æœŸé€†å�‘åœ°æ’æ”¾ã€‚默认是 "normal"。 | 3 |
| animation-play-state | 规定动画是å�¦æ£åœ¨è¿�行或暂å�œã€‚默认是 "running"。 | 3 |
下é�¢ä¸¤ä¸ªä¾‹å�设置所有动画属性:
实例
�行myfirst动画,设置所有的属性:
�试一下 »
实例
与上�的动画相�,但是使用了简写的动画 animation 属性:
�试一下 »
纪晓岚乄
870***614@qq.com
绘制太阳系�大行星�行轨迹:
�试一下 »
纪晓岚乄
870***614@qq.com
å¼
975***119@qq.com
实现�入雨滴的效果:
body,html{ height: 100%; } #content{ position: relative; height: 100%; background-color: #ffffff; overflow: hidden; } .raindrop{ position: absolute; width: 6px; height: 8px; background-color: #99a9bf; clip-path: ellipse(10% 30% at 50% 50%); transform: scale(8); opacity: 0; animation:move 1.2s cubic-bezier(0.54,0,0.18,0.34) infinite; } @keyframes move { 0%{ opacity: 0; } 40%{ opacity: 1; } 90%{ opacity: 1; } 100%{ opacity: 0; //实现3d的效果 transform:translate3d(10px,100vh,-10px); } }�试一下 »
å¼
975***119@qq.com
wellLove
294***2291@qq.com
太�图旋转:
* { margin: 0; padding: 0; } body { background-color: #ccc; } .taiji { width: 150px; height: 300px; margin: 100px auto; border-right: 150px solid #000; background-color: #fff; border-radius: 150px; animation: rotate 2s infinite linear; } .taiji::before, .taiji::after { content: ''; margin-left: 50%; display: block; width: 50px; height: 50px; background-color: #fff; border: 50px solid #000; border-radius: 75px; } .taiji::after { background-color: #000; border: 50px solid #fff; } @keyframes rotate { from {} to { transform: rotate(-360deg); } }�试一下 »
wellLove
294***2291@qq.com
Kai
790***286@163.com
注�(1):
animation-play-state 也是 animation 的简写属性,但在 -webkit- ä¸ä¸�适用:
�:
但, 在 -webkit- ä¸ï¼Œ-webkit-animation-play-state å�´æ˜¯å�•独的,ä¸�能用 -webkit-animation 包å�«ï¼š
æ— æ•ˆï¼�ï¼�ï¼�ï¼�ï¼�
必须写为:
---------------------------------------
注�(2):
animation å¹¶ä¸�太注é‡�è¯æ³•顺åº�(除了 ã€�duration / 动画用时】 一定在 ã€�delay / 动画延时】 之å‰�),但在 -webkit-animation (主è¦�针对 "Safari")ä¸ï¼Œä¸�能以 -webkit-animation-name æ�¥ç»“尾:
但在 Safari ä¸, 以下è¯å�¥æ— 法è¿�行:ã€�动画å��结尾】
ã€�动画å��称】ä¸�能作为结尾属性, 以下è¯å�¥å�¯è¿�行:
Kai
790***286@163.com