3

这是我的 div。

   #div1{
        position:   absolute;
        top:        50%;
        left:       50%;
        margin-left:-100px;
        margin-top: 420px;
        width:      158px;
        height:     158px;
        background-image:url(images/background.png);
    }

对于鼠标悬停事件,我需要 360 度的背景图像旋转动画。有谁能够帮我?谢谢你。

4

4 回答 4

3

这是您的要求:

jsFiddle 演示

    <div id="div1">rterterrt
teteterrtetre<div id="div2">
</div></div>

.

 #div1{
        position:   absolute;
        top:        50%;
        left:       50%;
        margin-left:-100px;
        /*margin-top: 420px;*/
        width:      158px;
        height:     158px;

}
#div2{


        /*margin-top: 420px;*/
        width:      158px;
        height:     158px;
        background-image:url(http://www.commentsyard.com/cy/01/6474/Mixed%20Flowers%20and%20a%20Bear.jpg);
}

#div2:hover {
    -webkit-animation-name: rotate; 
    -webkit-animation-duration: 2s; 
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: rotate; 
    -moz-animation-duration: 2s; 
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
}
@-webkit-keyframes rotate {
    from {-webkit-transform: rotate(0deg);}
    to {-webkit-transform: rotate(360deg);}
}
​
于 2012-09-20T05:36:35.223 回答
1

您不能通过 CSS(2,3 级)方式旋转背景图像。因此,您唯一的选择是对该图像使用单独的元素,并将该元素作为一个整体进行旋转/动画处理。

但是您将能够在CSS 级别 4中执行此操作。

于 2012-09-20T05:50:47.223 回答
0

您可以使用伪元素来实现这一点

#div1{
        position:   absolute;
        top:        50%;
        left:       50%;
        margin-left:-100px;
        margin-top: 420px;
}
#div:before {
   content: "";
   position: absolute;
   width: 158px;
   height: 158px;
   background-image:url(images/background.png);
   transition: all 1s linear;
}

#div:hover:before {
    transform:rotate(360deg);
}
于 2014-09-11T03:28:26.057 回答
0

仅使用 CSS 代码在 :hover 上旋转背景图像。

http://designshack.net/tutorialexamples/multiplebackgrounds/index.html

于 2016-02-17T09:48:22.360 回答