Ok.我试图搜索这个问题。这很简单。我有一个 css 摆动动画在火狐中运行良好,但在 chrome 中效果不佳。当然,我添加了webkit前缀。但仍然没有运气。我将迭代计数更改为无限,最后它可以工作,但不,我不希望它无限运行。这真的是一个错误吗?有人找到解决方案吗?这是我在jsfiddle中制作的代码的链接。http://jsfiddle.net/7t1uvyup/2/,这是实际代码。
.x{
height:50px;
width:50px;
background:#000;
position:fixed;
}
.x:hover
{
-webkit-animation: swing 1s ease;
animation: swing 1s ease;
/* change webkit iteration count to infinite and it will work on chrome but of course with infinite animation */
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
}
@-webkit-keyframes swing
{
15%
{
-webkit-transform: translateX(5px);
transform: translateX(5px);
}
30%
{
-webkit-transform: translateX(-5px);
transform: translateX(-5px);
}
50%
{
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
65%
{
-webkit-transform: translateX(-3px);
transform: translateX(-3px);
}
80%
{
-webkit-transform: translateX(2px);
transform: translateX(2px);
}
100%
{
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
@keyframes swing
{
15%
{
-webkit-transform: translateX(5px);
transform: translateX(5px);
}
30%
{
-webkit-transform: translateX(-5px);
transform: translateX(-5px);
}
50%
{
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
65%
{
-webkit-transform: translateX(-3px);
transform: translateX(-3px);
}
80%
{
-webkit-transform: translateX(2px);
transform: translateX(2px);
}
100%
{
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
<div class="x"></div>
我做了一些研究。CSS是硬件加速的。
所以这不仅仅是一个奇怪的随机错误。
我刚才遇到了这个问题。对我来说,动画似乎发生在很短的时间内,很多时候人眼都不会注意到;即,当 webkit-animation-iteration-count 不是无限时,Chrome 不考虑动画持续时间参数。
对我来说,这似乎不是一个随机的错误。它是可靠的可重复的。
尝试使用不同的浏览器访问 http://www.w3schools.com/css/css3_animations.asp。铬显示出最差的性能;CSS3 动画框不动画;它只是停留。