我正在使用带有 font-face ( twitter bootstrap/font-awesome ) 的 CSS 转换/动画来生成一个类似于 gif 的微调器图标。
问题是图标围绕 360 度旋转时会摇晃。请参阅此 JSFiddle以了解我的意思。有谁知道如何让它不摇晃?或者至少让它旋转得更顺畅一点?
这是下面的代码:
CSS:
i.icon-repeat {
-webkit-animation: Rotate 500ms infinite linear;
-moz-animation: Rotate 500ms infinite linear;
-ms-animation: Rotate 500ms infinite linear;
-o-animation: Rotate 500ms infinite linear;
animation: Rotate 500ms infinite linear;
}
@-o-keyframes Rotate {
from {-o-transform:rotate(0deg);}
to {-o-transform:rotate(360deg);}
}
@-moz-keyframes Rotate {
from {-moz-transform:rotate(0deg);}
to {-moz-transform:rotate(360deg);}
}
@-ms-keyframes Rotate {
from {-ms-transform:rotate(0deg);}
to {-ms-transform:rotate(360deg);}
}
@-webkit-keyframes Rotate {
from {-webkit-transform:rotate(0deg);}
to {-webkit-transform:rotate(360deg);}
}
@keyframes Rotate {
from { transform:rotate(0deg);}
to { transform:rotate(360deg);}
}
#iconRepeatMain{
display: inline-block;
position: absolute;
z-index:10007;
left: 50%;
top: 50%;
margin-left: -24px; /* -1 * image width / 2 */
margin-top: -24px; /* -1 * image height / 2 */
font-size:36px;
}
HTML:
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.1.1/css/bootstrap.no-icons.min.css" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/font-awesome/2.0/css/font-awesome.css" rel="stylesheet">
<i id='iconRepeatMain' class='icon-repeat' style='font-size:36px; color:red'></i>
注意:如果有人想在您自己的 Web 应用程序中使用此代码,请确保在完成所需的操作后从 DOM 中删除此微调器。让这个图标在后台旋转会烧毁 CPU,无论您使用哪种浏览器,您都不会相信。此外,简单地切换其可见性,即 ,display:none
是行不通的。您需要像这样从 DOM 中删除它:$('#iconRepeatMain').remove();