美文网首页H5技术栈
CSS3 连续执行两个动画

CSS3 连续执行两个动画

作者: Amfishers | 来源:发表于2016-04-20 16:04 被阅读5528次

在w3school上面查到一下,CSS3中的动画由animation和@keyframes 结合实现出来的。以往项目已来,一直做的是单个动画,现在讲解一下两个动画效果如何组合在一起

首先了解一下animation的所有属性 W3school是这样定义的:

[animation-name]               规定需要绑定到选择器的 keyframe 名称。。

[animation-duration]           规定完成动画所花费的时间,以秒或毫秒计。

[animation-timing-function]    规定动画的速度曲线。

[animation-delay]              规定在动画开始之前的延迟。

[animation-iteration-count]    规定动画应该播放的次数。

[animation-direction]          规定是否应该轮流反向播放动画。

然后我们用@keyframes 规则来创建两个我们要执行的动画

例如:
@keyframes Effect1{
    0%{ transform:translateY(-200px); opacity:0;}  
    100%{ transform:translateY(0px); opacity:1; }
}
@keyframes Effect2{
    0%{ margin-top:20px; }
    100%{ margin-top:0px; }
}

0%表示开始时候的形式,0%表示结束时候的形式。

接下来我们把写好的两个效果捆绑在“div”元素上 , 如下:

.div{
    animation-name:Effect1, Effect2;
    animation-duration:3s, 2s;
    animation-timing-function:linear, linear;
    animation-delay:0, 2s;
    animation-iteration-count:1, infinite;
    animation-fill-mode:forwards, forwards;
    animation-direction:normal, alternate;
}

这样效果就完成了。

【PS】这里并没有写兼容,说一下浏览器兼容。

-webkit代表谷歌内核识别码
-o代表欧朋内核识别码
-moz代表火狐内核识别码
-ms代表ie内核识别码
这里写-webkit的兼容
.div{
    animation-name:Effect1, Effect2;
    animation-duration:3s, 2s;
    animation-timing-function:linear, linear;
    animation-delay:0, 2s;
    animation-iteration-count:1, infinite;
    animation-fill-mode:forwards, forwards;
    animation-direction:normal, alternate;

    -webkit-animation-name:Effect1, Effect2;
    -webkit-animation-duration:3s, 2s;
    -webkit-animation-timing-function:linear, linear;
    -webkit-animation-delay:0, 2s;
    -webkit-animation-iteration-count:1, infinite;
    -webkit-animation-fill-mode:forwards, forwards;
    -webkit-animation-direction:normal, alternate;
}

附上项目案例

Vanguard

相关文章

  • CSS3 连续执行两个动画

    在w3school上面查到一下,CSS3中的动画由animation和@keyframes 结合实现出来的。以往项...

  • 动画浅析

    在谈css3动画加速之前,先考虑几个问题: 1.我们为什么要做动画? 2.为什么推荐css3动画? 带着这两个...

  • 网页高级知识点(三)

    CSS3 transition动画 CSS3 transform变换 CSS3 animation动画

  • 动画 移动

    css3过渡动画: transition:width 500ms(执行500毫秒) ease,height 500...

  • 07day

    CSS3动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes ...

  • CSS3连续动画实现的思路,组合动画

    CSS3动画由animation和@keyframes 结合实现出来的。在实际开发过程中,经常会用到连续复杂的动画...

  • 08_dayCSS动画

    CSS3新增的功能有:过渡和动画,阴影和圆角 css3过渡动画: css3都有哪些新增的东西 : 过度,动画,阴影...

  • CSS3 动画

    CSS3 动画CSS3,我们可以创建动画,它可以取代许多网页动画图像,Flash动画,和JAVAScripts。 ...

  • CSS3 动画

    动画属性 动画(animation)是CSS3新增的属性,动画属性可以为元素创建动画,CSS3以前在网页上实现动画...

  • css3动画

    css3动画 CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的...

网友评论

  • 明天你好_057f:作者你好,我想问下,如果我要这两个动画都要无限运行怎么解决,就是 animation-iteration-count:infinite, infinite;
  • 寻水鱼:看了项目案例,没什么新颖,swiper可以做到
    寻水鱼:@JoinFisher zepto好用吗?我没用过
    Amfishers:项目都是按需来制作,技术只有适不适用。swiper没压缩要166k,我这里不用swiper而用zepto压缩之后只有36k,哪个更好:smiley:

本文标题:CSS3 连续执行两个动画

本文链接:https://www.haomeiwen.com/subject/newzlttx.html