鼠标悬停,图标会一直不停旋转。
如果实现图标一直不停旋转,则需要使用animation动画。先制作动画的各个关键帧,然后在图标中运用这一动画。
具体操作如下:
在w3school上面查到一下,CSS3中的动画由animation和@keyframes 结合实现出来的。以往项目已来,一直做的是单个动画,现在讲解一下两个动画效果如何组合在一起
首先了解一下animation的所有属性 W3school是这样定义的:
然后我们用@keyframes 规则来创建两个我们要执行的动画
接下来我们把写好的两个效果捆绑在“div”元素上 , 如下:
这样效果就完成了。
【PS】这里并没有写兼容,说一下浏览器兼容。
可以试试移除动画的类再重新给节点添加动画的类下面这个demo是执行一次动画,2s后再重新执行一遍
(因为是demo,我就没有考虑兼容性问题,没有添加css前缀)
1
<div class="dot anm" id="anm"></div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.dot {
position: relative
width: 100px
height: 100px
margin: 100px
border-radius: 50%
background: #000
}
.anm {
animation: move 1s forwards
}
@keyframes move
{
from {
left:0px
}
to {
left:200px
setTimeout(function() {
var dom = document.getElementById('anm')
dom.className = 'dot'
setTimeout(function() {
dom.className = 'dot anm'
}, 10)
}, 2000)