html - 使用 CSS 悬停时如何提高旋转动画的速度?

标签 html css animation

我的 Logo 在[我的网站][1]上旋转。当我用鼠标悬停它时,我希望它旋转得更快、更顺畅。当我悬停 Logo 时,它只是返回到原来的旋转,然后更快地开始新的旋转。我希望 Logo 在悬停时增加和减少速度而不返回到原始旋转。

这是我的标志:

<img id="logo" src="shilogo.svg" width="50" height="50" alt="Logo">

这是当前的 CSS:

#logo{
    padding:5px;
    -webkit-animation: spin 5s linear infinite;
    animation: spin 5s linear infinite;
    -moz-animation:spin 5s linear infinite;
}

#logo:hover{
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    -moz-animation:spin 2s linear infinite;
}

@-webkit-keyframes spin{
  100% { -webkit-transform: rotate(-360deg); }
}
@-moz-keyframes spin{
  100% { -moz-transform: rotate(-360deg); }
}
@keyframes spin{
  100% { transform: rotate(-360deg); }
}

最佳答案

您应该只重置动画持续时间以提高速度,否则整个规则都会重置:(注意:结果可能因浏览器而异,...)

#logo{
    padding:5px;
    animation: spin 5s linear infinite;
}

#logo:hover{
    animation-duration:1s;
}


@keyframes spin{
  100% { transform: rotate(-360deg); }
}
<img id="logo" src="http://dummyimage.com/100"  alt="Logo">

关于html - 使用 CSS 悬停时如何提高旋转动画的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51064851/

相关文章:

javascript - D3 Javascript - 这些行不会移动

html - 始终在动态内容 div 中获得阅读更多链接的相同位置

javascript - AJAX 响应中的 jQuery UI 日期选择器

javascript - 返回页面时未绑定(bind) jquery 移动事件

css - 透明渐变在 Safari 中不起作用

javascript - jQuery.each 中的 setTimeout 不起作用

html - 网络上可打印的大型 PDF

使用 :after psuedo element displaying as a rectangle instead in IE8 的 CSS 三 Angular 形

html - 如何在保持 div 居中的同时防止 div 损坏

objective-c - 限制动画球在屏幕上的位置