我试图让它适用于所有浏览器,但我无法在Firefox中重现效果:
我尝试复制像这样的代码,他们有-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。
答案 0 :(得分:4)
因为您缺少@keyframes
,animation
和transform
的标准前缀。
此外,您可以使用此简写来缩小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>