我正在尝试使用CSS动画制作一个加载器gif,并将其转换。不幸的是,下面的代码将Mac OSX上的Firefox(有时是Chrome,Safari的)CPU使用率从< 10%转换为> 90%。如何让CSS动画不会占用整个CPU?
i.icon-repeat {
display:none;
-webkit-animation: Rotate 1s infinite linear;
-moz-animation: Rotate 1s infinite linear; //**this is the offending line**
animation: Rotate 1s infinite linear;
}
@-webkit-keyframes Rotate {
from {-webkit-transform:rotate(0deg);}
to {-webkit-transform:rotate(360deg);}
}
@-keyframes Rotate {
from {transform:rotate(0deg);}
to {transform:rotate(360deg);}
}
@-moz-keyframes Rotate {
from {-moz-transform:rotate(0deg);}
to {-moz-transform:rotate(360deg);}
}
注意,如果没有infinite linear
旋转或-moz-
供应商名称,在“装载机GIF”般的行为都将丢失。也就是说,图标不会连续旋转。
也许这只是一个错误,或者我做错了什么?
旁注:我知道这是很常见的,但使用'i'一个图标真的是(AB)
所以取而代之的是,这样做(在我的问题的CSS上述合并)不好的做法,你不应该这样做。除此之外,我认为你不能帮助它,因为你的代码是正确的,我没有看到其他方式如何做到这一点。 – Christoph 2012-08-02 11:44:07
出于好奇,为什么歌剧预先修复每个@keyframes? (我没有经验,是否需要?) – Andy 2012-08-02 11:44:07
为什么不使用spin.js而不是从字面上重新创建(旋转)轮? – Cyrille 2012-08-02 11:46:26