如何使用 CSS3 无限地为我的图像设置动画

Posted

技术标签:

【中文标题】如何使用 CSS3 无限地为我的图像设置动画【英文标题】:How can I animate my image infinitely using CSS3 【发布时间】:2012-12-29 09:30:23 【问题描述】:

我有一张具有以下样式的图片:

<img src="images/head-tails.gif" class="graphs" />
.graphs 
    -webkit-transition: all 2s ease;
    -moz-transition: all 2s ease;
    -o-transition: all 2s ease;
    transition: all 2s ease;
    /* -webkit-animation:animated 5s infinite; */
    /* -moz-animation:animated 5s infinite; */
    /* -o-animation:animated 5s infinite; */
    /* animation:animated 5s infinite; */

.graphs:hover 
    -webkit-transform: rotateY(360deg);
    -moz-transform: rotateY(360deg);
    -o-transform: rotateY(360deg);
    transform: rotateY(360deg);

因此,当我将鼠标悬停在图像上时,它会像硬币一样旋转 360 度。我想做的是当页面加载时,图像将无限地执行此动画(旋转),而无需将鼠标悬停在我的鼠标上。我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

您可以为此使用关键帧动画。像这样写:

.graphs 
    -webkit-animation-iteration-count:infinite;
    -webkit-animation-timing-function:linear;
    -webkit-animation-name:orbit;
    -webkit-animation-duration:2s;
    -moz-animation-iteration-count:infinite;
    -moz-animation-timing-function:linear;
    -moz-animation-name:orbit;
    -moz-animation-duration:2s;

@-webkit-keyframes orbit  
from  -webkit-transform:rotateY(0deg)  
to  -webkit-transform:rotateY(360deg)  

@-moz-keyframes orbit  
from  -moz-transform:rotateY(0deg)  
to  -moz-transform:rotateY(360deg)  

查看http://jsfiddle.net/ktPev/1/

【讨论】:

在你给我的链接中它工作正常,这正是我想要做的,但由于某种原因在 fy 文件中不起作用 好的,我发现了问题并修复了它。谢谢!请再问一个问题.. 如果我有更多具有同一类的图像,我怎样才能使它们以一些延迟时间旋转,以使它们不同步??? 我认为您需要使用不同的类,然后使用 animation-delay 属性来定义每个动画应该何时开始。下面是我的演示的更新版本 - jsfiddle.net/ccryz/7 @ChristoferVilander 不错,但你可以用更少的代码来实现这一点,检查这个jsfiddle.net/ccryz/8【参考方案2】:

改用关键帧动画。取消注释注释代码并将animation-timing-function 更改为linear。喜欢这个animation: animated 5s linear infinite;。然后定义关键帧动画,例如像这样(我在我的例子中使用了-webkit-):

@-webkit-keyframes animated 
        to  -webkit-transform: rotateY(360deg); 

它应该可以工作!

这是DEMO

【讨论】:

以上是关于如何使用 CSS3 无限地为我的图像设置动画的主要内容,如果未能解决你的问题,请参考以下文章

如何在 R 中使用 OpenGL 加速有效地为图像栅格设置动画?

css3 实现动画效果,怎样使他无限循环动下去?

如何在jQuery中无限水平滚动图像?

css 这是使用css3的动画列表。通过添加.animated类和。{animation-name}类轻松地为元素设置动画。

如何使用 Google Maps SDK 中的自定义 LocationSource 平滑地为当前位置设置动画?

css3动画如何使三张图片围饶一个圆在运动