我是新手。为什么这段代码不起作用? 我想让鸟儿飞翔。
我的HTML:
<img src="http://dl.dropboxusercontent.com/u/105046436/tw.png" />
<br>
<div class="twitter-bird"></div>
我的CSS:
.twitter-bird {
background-image: url(http://dl.dropboxusercontent.com/u/105046436/tw.png);
display: inline-block;
height: 38px;
width: 37.5px;
}
.twitter-bird:hover {
animation: fly 0.2s steps(3) 0 infinite;
}
@keyframes fly {
from { background-position: 0 0; }
to { background-position: -112.5px 0; }
}
JSFiddle:http://jsfiddle.net/6qHMG/
我想要的是什么:
我想更改图片的背景位置。
会发生什么:
悬停时图像位置不会改变。
编辑:
我认为背景图像位置没有正确改变。背景位置似乎没有改变。如何在background-position:
中设置@keyframes fly
?
答案 0 :(得分:8)
这里是:
你必须添加供应商前缀
.twitter-bird {
height: 38px;
width: 37.5px;
background-image: url("http://dl.dropboxusercontent.com/u/105046436/tw.png");
}
.twitter-bird:hover {
-webkit-animation: fly .4s steps(3) infinite;
-moz-animation: fly .4s steps(3) infinite;
-ms-animation: fly .4s steps(3) infinite;
-o-animation: fly .4s steps(3) infinite;
animation: fly .4s steps(3) infinite;
}
@-webkit-keyframes fly {
from { background-position: 0px; }
to { background-position: -112.5px; }
}
@-moz-keyframes fly {
from { background-position: 0px; }
to { background-position: -112.5px; }
}
@-ms-keyframes fly {
from { background-position: 0px; }
to { background-position: -112.5px; }
}
@-o-keyframes fly {
from { background-position: 0px; }
to { background-position: -112.5px; }
}
@keyframes fly {
from { background-position: 0px; }
to { background-position: -112.5px; }
}