CSS3 / CSS - 旋转背景图像

时间:2013-06-05 20:39:16

标签: css css3 background-image

是否可以在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 个答案:

答案 0 :(得分:12)

您可以在伪元素上设置背景,例如after

.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 :(得分:6)

您可以将背景放在伪元素上,例如::before并为其设置动画。

Exampleanother one:)


如果您的图片上方有内容add z-index: -1 to the pseudo element