手把手教你怎么使用CSS3实现动画效果(代码分享)

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

手把手教你怎么使用CSS3实现动画效果(代码分享)

之前的文章《H5篇:页面中实现动画的几种方式?(附代码)》中,带大家了解页面中实现动画的几种方式。下面本篇文章给大家介绍怎么使用CSS3来实现一个简单漂亮的动画效果,我们一起看看

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

浏览器支持

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

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

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

定义和用法

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

animation-name

animation-duration

animation-timing-functionanimation-delay

animation-iteration-countanimation-direction

语法

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。

@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写了一个例子,地球绕太阳转

以下是代码

<!-- html 部分 --><div style="width:700px; ">  <div class="t">    <div class="t1"></div>  </div></div>
登录后复制
/* 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实现动画效果(代码分享)的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:java微信公众号开发之搭建本地测试环境方法
下一篇:html5使用canva实现验证码效果(代码实例)

发表评论

关闭广告
关闭广告