因此,当“悬停”时,我试图使图像旋转360次无限次。但不幸的是,它不是,我认为可能是因为我使用了背景元素来显示图像,但我不能想到如何以另一种方式显示图像。
使用bootstrap 3,不确定如何使用glyphicons
<div class="services">
<i class="icon-html5"></i>
<h4 class="service-heading">HTML5</h4>
<p>Developed with high level of coding and care to provide everyone with a HTML5 compliant markup.</p>
</div>
.services{
background-color:#F5F5F5;
border-radius: 5px 5px 5px 5px;
cursor: pointer;
margin:60px 0;
padding:14px;
position: relative;
}
.services i{
border:10px solid #FFFFFF;
border-radius: 50% 50% 50% 50%;
color:#F4F4F4;
font-size: 18px;
height:100%;
left:50%;
line-height: 100%;
margin: -60px 0 0 -60px !important;
padding:0 !important;
position: absolute;
top:0px;
transition: all 0.3s ease-in-out 0s;
width:140px;
background-color:#F47E7E;
}
.services:hover > i{
animation: 1.5s linear 0s normal none infinite spinAround;
border: 10px solid #FFFFFF;
}
.icon-html5{
background-image: url('../img/html5.png');
background-repeat: no-repeat;
animation: 1.5s linear 0s normal none infinite spinAround;
border: 10px solid #FFFFFF;
background-position:center;
}
JS小提琴 - http://jsfiddle.net/MJXrM/1/
谢谢!
答案 0 :(得分:1)
你在css中遗漏了这样的东西:
@-moz-keyframes spinAround {
from {-moz-transform: rotate(00deg); }
to {-moz-transform: rotate(360deg);}
}
@-webkit-keyframes spinAround {
from { -webkit-transform: rotate(0deg); }
to { -webkit-transform: rotate(360deg); }
}
@keyframes spinAround {
from {transform:rotate(0deg);}
to {transform:rotate(360deg);}
}
请参阅小提琴:http://jsfiddle.net/MJXrM/3/
我也改变了这个:
.services:hover > i
进入这个:
.services > i:hover
答案 1 :(得分:1)
如果你使用较少的bootstrap,你可以这样做:
.services > i:hover {
.icon-spin;
}
答案 2 :(得分:-1)
您是否考虑过使用精灵表动画来实现无限旋转?如果您有动画文件,则可以使用以下代码实现。这种方式与旧浏览器和现代浏览器更兼容。
<div class="spinner-bg">
<div id="spinner">
</div>
</div>
.spinner-bg
{
width: 44px;
height: 41px;
background:#000000;
}
#spinner
{
width: 44px;
height: 41px;
background:url(./preloadericon.png) no-repeat;
}
<script>
var currentbgx = 0;
var circle = document.getElementById("spinner");
var circleTimer = setInterval(playAnimation, 100);
function playAnimation() {
if (circle != null) {
circle.style.backgroundPosition = currentbgx + "px 0";
}
currentbgx -= 44; //one frame width, there are 5 frame
//start from 0, end at 176, it depends on the png frame length
if (currentbgx < -176) {
currentbgx = 0;
}
}
</script>
您还可以在此处找到更多HTML动画实现: