2013-06-05 81 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屬性 –