CSS动画改变帧速率

时间:2013-05-12 10:56:39

标签: css3 css-animations frame-rate

查看CSS动画以替换加载轮中的动画GIF。

这里有一个基本的例子http://jsfiddle.net/kFmY8/448/

#me {
    -webkit-animation: rotation 2s infinite linear;
}

@-webkit-keyframes rotation {
    from {-webkit-transform: rotate(0deg);}
    to   {-webkit-transform: rotate(360deg);}
}

我想改变帧速率,这样每个周期只有12帧。这将使动画的流动性更接近于它所取代的动画GIF。

可以这样做吗?

2 个答案:

答案 0 :(得分:22)

您希望steps()用于缓动功能,而不是linear

http://jsfiddle.net/trolleymusic/uTd3x/

我已经改变了你的动画值:

-webkit-animation: rotation 2s infinite linear;

为:

-webkit-animation: rotation 2s infinite steps(12);

steps函数中的数字是将动画划分为多少帧。

参考位置:http://css-tricks.com/snippets/css/keyframe-animation-syntax/ - 大约一半的位置有一个名为的步骤()

答案 1 :(得分:0)

将动画更改为淡化动画,然后使用CSS变换旋转属性以30度间隔修复每个块。将动画应用于每个动画但延迟了.1s。

.wheel {
    position:absolute; display:none;
}
.wheel li {
    width:4px; height:11px; position:absolute; -webkit-transform-origin:3px 21px; background:#222; border-radius:4px; list-style:none; display:block; opacity:.25; box-shadow:0 0 1px rgba(255,255,255,0.9);
}
.wheel li:nth-child(1) { -webkit-transform:rotate(30deg); -webkit-animation:fadeshift 1.2s infinite linear 0s; }
.wheel li:nth-child(2) { -webkit-transform:rotate(60deg); -webkit-animation:fadeshift 1.2s infinite linear 0.1s; }
.wheel li:nth-child(3) { -webkit-transform:rotate(90deg); -webkit-animation:fadeshift 1.2s infinite linear 0.2s; }
.wheel li:nth-child(4) { -webkit-transform:rotate(120deg); -webkit-animation:fadeshift 1.2s infinite linear 0.3s; }
.wheel li:nth-child(5) { -webkit-transform:rotate(150deg); -webkit-animation:fadeshift 1.2s infinite linear 0.4s; }
.wheel li:nth-child(6) { -webkit-transform:rotate(180deg); -webkit-animation:fadeshift 1.2s infinite linear 0.5s; }
.wheel li:nth-child(7) { -webkit-transform:rotate(210deg); -webkit-animation:fadeshift 1.2s infinite linear 0.6s; }
.wheel li:nth-child(8) { -webkit-transform:rotate(240deg); -webkit-animation:fadeshift 1.2s infinite linear 0.7s; }
.wheel li:nth-child(9) { -webkit-transform:rotate(270deg); -webkit-animation:fadeshift 1.2s infinite linear 0.8s; }
.wheel li:nth-child(10) { -webkit-transform:rotate(300deg); -webkit-animation:fadeshift 1.2s infinite linear 0.9s; }
.wheel li:nth-child(11) { -webkit-transform:rotate(330deg); -webkit-animation:fadeshift 1.2s infinite linear 1s; }
.wheel li:nth-child(12) { -webkit-transform:rotate(360deg); -webkit-animation:fadeshift 1.2s infinite linear 1.1s; }
@-webkit-keyframes fadeshift { 
    from { opacity:1; } to { opacity:.1; }
}

<div class="appload wheel"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></div>

QED。