我是靠谱客的博主 魁梧季节,这篇文章主要介绍手把手教你怎么使用CSS3实现动画效果(代码分享),现在分享给大家,希望可以做个参考。

复习下 css3 的动画, 都快不会写了,那会儿挺喜欢 flash 的,可惜了时代在前进。写这里就当是文档看吧

浏览器支持

Internet Explorer 10、Firefox 以及 Opera 支持 animation 属性。

Safari 和 Chrome 支持替代的 -webkit-animation 属性。

注释:Internet Explorer 9 以及更早的版本不支持 animation 属性。

定义和用法

animation属性是一个简写属性,用于设置六个动画属性:

  • animation-name

  • animation-duration

  • animation-timing-function animation-delay

  • animation-iteration-count animation-direction

语法

复制代码
1
animation: name duration timing-function delay iteration-count direction;
登录后复制
描述备注
animation-timing-function规定动画的速度曲线可取值为 linear ,ease(淡入淡出),ease-in,ease-out ,ease-in-out,cubic-bezier(n, n, n, n)
animation-play-state规定动画是否正在运行或暂停。paused 表示暂停状态,running 表示运行状态
animation-name规定需要绑定到选择器的 keyframe 名称@keyframe { from {opcity:0} to {opcity:1}}
animation-iteration-count规定动画应该播放的次数可选值为 infinite(无限次)n(比如 5 次)
animation-fill-mode动画在播放之前或之后,其动画效果是否可见。none(默认) / forwards(动画完成后) / backwards(在动画显示之前) / both(两者);
animation-duration规定完成动画所花费的时间,以秒或毫秒计必须规定否则,不执行动画
animation-direction规定是否应该轮流反向播放动画默认值 normal,alternate 为动画应该轮流反向播放。左右左
animation-delay规定在动画开始之前的延迟定义动画开始前等待的时间,以秒或毫秒计。默认值是 0。单位为 s

关于keyframe的定义

  • Firefox支持替代的@-moz-keyframes规则;

  • Opera支持替代的@-o-keyframes规则;

  • Safari和Chrome支持替代的@-webkit-keyframes规则;

  • 取值支持 0-100% 和from,to。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@keyframes move { 0% { top: 0px; left: 0px; } 25% { top: 200px; left: 200px; } 50% { top: 100px; left: 100px; } 75% { top: 200px; left: 200px; } 100% { top: 0px; left: 0px; } } @keyframes move { from { top: 0px; left: 0px; } to { top: 0px; left: 100px; } }
登录后复制

demo 写了一个例子,地球绕太阳转

222.gif

以下是代码

复制代码
1
2
3
4
5
6
<!-- html 部分 --> <div style="width:700px; "> <div class="t"> <div class="t1"></div> </div> </div>
登录后复制
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/* css 部分 */ @keyframes t { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @-webkit-keyframes t { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .t { height: 500px; width: 500px; position: relative; border-radius: 50%; transform: scale(.8); border: 1px solid #dedede; &::before { content: ""; width: 50px; height: 50px; background: radial-gradient(72px, #f00, #ff0, #080); border-radius: 50%; position: absolute; left: 50%; top: 50%; margin-top: -25px; margin-left: -25px; box-shadow: 0 0 37px #fcff4a; } .t1 { height: 20px; border-radius: 50%; width: 20px; margin-top: -10px; top: 50%; left: -10px; background: radial-gradient(26px, #0082ff, #184608, #003ade); position: absolute; animation: t 3s infinite linear; transform-origin: 260px center; } } </style>
登录后复制

还有一个 demo ,在这里https://k-ui.cn

推荐学习CSS3视频教程

以上就是手把手教你怎么使用CSS3实现动画效果(代码分享)的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是魁梧季节最近收集整理的关于手把手教你怎么使用CSS3实现动画效果(代码分享)的全部内容,更多相关手把手教你怎么使用CSS3实现动画效果(代码分享)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(95)

评论列表共有 0 条评论

立即
投稿
返回
顶部