CSS3旋转动画无法在Firefox上运行

时间:2015-01-07 14:15:39

标签: css3 firefox animation rotation

我试图让它适用于所有浏览器,但我无法在Firefox中重现效果:

http://jsfiddle.net/vq3xuafb/

我尝试复制像这样的代码,他们有-webkit-并且更改为-moz-,但是没有工作。

#ball_3 {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0.7, 0.9, 0.9);
    -webkit-animation-name: rotate; 
    -webkit-animation-duration: 2s; 
    -webkit-animation-iteration-count: infinite;
    -webkit-transform-origin: 6px 30px;
}
@-webkit-keyframes rotate {
    0% {-webkit-transform: rotate(0deg) scale(1);}
    100% {-webkit-transform: rotate(1440deg) scale(1);}
}

此外,我不知道它是否适用于Opera或IE。

1 个答案:

答案 0 :(得分:4)

因为您缺少@keyframesanimationtransform的标准前缀。

此外,您可以使用此简写来缩小animation语法。

animation: rotate 2s infinite cubic-bezier(0.5, 0.3, 0.9, 0.9);

Updated Fiddle

#hidder {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: grey;
  z-index: 99988;
  opacity: 0.5;
}
#spinner.active {
  display: block;
}
#spinner {
  display: block;
  position: fixed;
  height: 60px;
  width: 60px;
  top: 40%;
  left: 48%;
  z-index: 99989;
}
.spinner_ball {
  position: absolute;
  display: block;
  background-color: white;
  left: 24px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
}
#ball_1,
#ball_2,
#ball_3 {
  -webkit-animation: rotate 2s infinite cubic-bezier(0.5, 0.3, 0.9, 0.9);
  animation: rotate 2s infinite cubic-bezier(0.5, 0.3, 0.9, 0.9);
  -webkit-transform-origin: 6px 30px;
  transform-origin: 6px 30px;
}
#ball_2 {
  -webkit-animation: rotate 2s infinite cubic-bezier(0.5, 0.5, 0.9, 0.9);
  animation: rotate 2s infinite cubic-bezier(0.5, 0.5, 0.9, 0.9);
}
#ball_3 {
  -webkit-animation: rotate 2s infinite cubic-bezier(0.5, 0.7, 0.9, 0.9);
  animation: rotate 2s infinite cubic-bezier(0.5, 0.7, 0.9, 0.9);
}
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
  }
  100% {
    -webkit-transform: rotate(1440deg) scale(1);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1);
  }
  100% {
    transform: rotate(1440deg) scale(1);
  }
}
<div id='hidder'></div>
<div id="spinner"> <span id="ball_1" class="spinner_ball"></span>
  <span id="ball_2" class="spinner_ball"></span>
  <span id="ball_3" class="spinner_ball"></span>
</div>