文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>手把手教你怎么使用CSS3实现动画效果(代码分享)

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

时间:2021-08-27  来源:互联网

今天PHP爱好者给大家带来怎么使用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-function animation-delay

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

222.gif

以下是代码

<!-- html 部分 -->
<p style="width:700px; ">
 <p class="t">
   <p class="t1"></p>
 </p>
</p>

/* 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实现动画效果(代码分享)的详细内容,更多请关注php爱好者其它相关文章!

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载