2013-06-05 75 views
9

是否可以在CSS中旋转背景图像?CSS3/CSS - 自旋背景图像

我可以用旋转一个元素:

@-webkit-keyframes spinX 
{ 
0% {-webkit-transform: rotateX(0deg); -webkit-transform-origin: 0% 50% 0;} 
100% {-webkit-transform: rotateX(360deg); -webkit-transform-origin: 0% 50% 0;} 
} 

@-webkit-keyframes spinY 
{ 
0% {-webkit-transform: rotateY(0deg); -webkit-transform-origin: 0% 0% 5;} 
100% {-webkit-transform: rotateY(360deg); -webkit-transform-origin: 0% 0% 5;} 
} 

但怎么样,如果我想旋转一个元素的背景图片?

找不到任何东西,我可以使用GIF,但如果可能的话,我想在CSS中制作它!

有什么想法吗? 感谢

我忘了说,如果有可能使动画支持跨浏览器:P

+2

看看这个:HTTP://www.sitepoint .com/css3-transform-b​​ackground-image/ – Pevara

+1

现在只需要移除所有'-webkit-'前缀就可以跨浏览器浏览一天。更新浏览器FTW –

回答

11

你可以做到这一点

.main { 
 
    width: 200px; 
 
    height: 300px; 
 
    position: relative; 
 
    border: solid 1px gray; 
 
} 
 

 
.main:after { 
 
    width: 100%; 
 
    height: 100%; 
 
    position: absolute; 
 
    background: url("http://placekitten.com/800/1200"); 
 
    background-size: cover; 
 
    content: ''; 
 
    -webkit-animation: spinX 3s infinite; 
 
    animation: spinX 3s infinite; 
 
} 
 

 
@-webkit-keyframes spinX 
 
{ 
 
0% {-webkit-transform: rotateX(0deg); -webkit-transform-origin: 0% 50% 0;} 
 
100% {-webkit-transform: rotateX(360deg); -webkit-transform-origin: 0% 50% 0;} 
 
} 
 
@keyframes spinX 
 
{ 
 
0% {transform: rotateX(0deg); transform-origin: 0% 50% 0;} 
 
100% {transform: rotateX(360deg); transform-origin: 0% 50% 0;} 
 
}
<div class="main"></div>
设置一个伪元素的背景,例如一个后

demo

+1

http://jsfiddle.net/HyyXM/1/ – Christoph

6

你可以把一个伪元素的背景,像::before和动画效果。

Example,并且another one :)


如果你有以上的图像内容,add z-index: -1 to the pseudo element

+2

+1我只是无法停止看你的例子中的这个生物 - 轧花和舞动大声笑^ _^ –

+0

@One Trick Pony有可能您的动画示例仅受Webkit浏览器支持?没有办法全面支持浏览器? :P – sbaaaang

+0

它适用于所有浏览器,只需添加一个'-moz'版本和一个非前缀版本 - [检查这个小提琴](http://jsfiddle.net/M58r7/4/)。我只使用webkit,因为你只有Q版的webkit属性 –