当前位置: 首页 > 面试题库 >

CSS3旋转动画

於乐语
2023-03-14
问题内容

无法使此动画图像正常工作,它应该进行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); 
        }
    }
}

问题答案:

这是 正确的动画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-前缀


 类似资料:
  • 问题内容: 我已经回顾了很多演示,并且不知道为什么我无法使CSS3自旋起作用。我正在使用最新的稳定版Chrome。 问题答案: 要使用CSS3动画,您还必须定义实际的动画关键帧( 您将其命名为) 配置了动画的时间后,您需要定义动画的外观。这是通过使用规则建立两个或更多关键帧来完成的。每个关键帧描述动画元素在动画序列中给定时间应如何呈现。

  • 问题内容: 在我完成的设计中,我有一个需要垂直的元素。我已经获得了CSS才能在除IE9之外的所有浏览器中工作。我将过滤器用于IE7和IE8: 但是,这似乎使我的元素在IE9中变得透明,而CSS3的“变形”功能似乎无能为力! 有人知道IE9中旋转元素吗? 非常感谢您的帮助! W. 问题答案: 标准CSS3旋转应在IE9中工作,但我相信您需要为其指定供应商前缀,如下所示: 它可能无法在Beta版本中工

  • 问题内容: 我在chrome中遇到了css3转换旋转过渡的问题。过渡效果很好,但是在完成过渡后,元素移位了一个像素。另一个奇怪的事情是,它仅在页面居中()时发生。如果同时删除过渡,该错误仍然存​​在。 HTML: CSS: 注释掉该行以使其消失。 任何人都有任何想法如何在保持页面居中的同时停止此操作? 我在OSX 10.6.8上使用版本24.0.1312.57 干杯 问题答案: 实际上,只需将其添

  • 使地球自动旋转,并控制旋转速率。地球的自动旋转功能在默认情况下是关闭的,如果启动旋转功能,默认的旋转速率是1。 // 启用自动旋转功能,将转速设置为1(同时1也是默认的转速) controller.setAutoRotation( true, 1 ); // 如果之前开启了自动旋转功能,可以用这种方式将其关闭 controller.setAutoRotation( false );

  • 问题内容: 我正在尝试使用PNG和CSS3动画复制Apple风格的活动指示器(日程加载图标)。我使图像旋转并连续进行,但是在动画完成之后似乎有延迟,然后再进行下一个旋转。 我尝试过更改动画的持续时间,但是没有什么区别,如果您将其放慢,请说5s,这更明显的是,在第一次旋转之后会有一个暂停,然后再次旋转。我想摆脱的是这个停顿。 非常感谢任何帮助,谢谢。 问题答案: 您的问题是您需要时提供了。您的0到3

  • 动画outputRotate Out Up LeftRotate InRotate Out Up RightRotate Out Up LeftRotate Out Up RightRotate OutRotate Out Up LeftRotate Out Up RightRotate Out Up LeftRotate Out Up Right