image - CSS3 旋转动画

标签 image css animation rotation

<img class="image" src="" alt="" width="120" height="120">

无法使此动画图像正常工作,它应该进行 360 度旋转。

我猜下面的 CSS 有问题,因为它只是保持不动。

.image {
    float: left;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120px;
    height: 120px;
    margin-top: -60px;
    margin-left: -60px;

    -webkit-animation-name: spin;
    -webkit-animation-duration: 4000ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;

    -moz-animation-name: spin;
    -moz-animation-duration: 4000ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;

    -ms-animation-name: spin;
    -ms-animation-duration: 4000ms;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;

    animation-name: spin;
    animation-duration: 4000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;

    @-ms-keyframes spin { 
        from { 
            -ms-transform: rotate(0deg); 
        } to { 
            -ms-transform: rotate(360deg); 
        }
    }
    @-moz-keyframes spin { 
        from { 
            -moz-transform: rotate(0deg); 
        } to { 
            -moz-transform: rotate(360deg); 
        }
    }
    @-webkit-keyframes spin { 
        from { 
            -webkit-transform: rotate(0deg); 
        } to { 
            -webkit-transform: rotate(360deg); 
        }
    }
    @keyframes spin { 
        from { 
            transform: rotate(0deg); 
        } to { 
            transform: rotate(360deg); 
        }
    }
}

最佳答案

这是一个 demo 。正确的动画 CSS:

.image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120px;
    height: 120px;
    margin:-60px 0 0 -60px;
    -webkit-animation:spin 4s linear infinite;
    -moz-animation:spin 4s linear infinite;
    animation:spin 4s linear infinite;
}
@-moz-keyframes spin { 
    100% { -moz-transform: rotate(360deg); } 
}
@-webkit-keyframes spin { 
    100% { -webkit-transform: rotate(360deg); } 
}
@keyframes spin { 
    100% { 
        -webkit-transform: rotate(360deg); 
        transform:rotate(360deg); 
    } 
}
<img class="image" src="http://i.stack.imgur.com/pC1Tv.jpg" alt="" width="120" height="120">


关于您的代码的一些注释:

  1. 您已将关键帧嵌套在 .image 中规则,这是不正确的
  2. float:left不适用于绝对定位的元素
  3. 看看caniuse : IE10 不需要 -ms-前缀

关于image - CSS3 旋转动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21988480/

相关文章:

jQuery 两个连续动画不起作用

android - 闪烁的背景

c# - c#中如何判断上传的文件类型

python - OpenCV检测摄像头但不返回图像提要,而guvcview却

css - 两个箱子并排

javascript - 使用 jQuery Isotope 进行过滤会导致动画不稳定

html - 我的文档内容过多并超出了页脚

ios - 在iOS上,如何实现流畅的动画?

html - src 和 data-src 属性之间有什么区别?

html - 显示内联导致元素被进一步向下推