如何在悬停不活动时播放悬停和暂停动画

2022-03-10 00:00:00 css css-animations

我有一个按钮,当鼠标悬停在它上面时,我想要旋转它。但是,当鼠标进入时旋转工作,当鼠标离开时旋转。我的意思是:

button {
  transition: transform 1.2s linear;
}

button:hover {
  transform: rotate(360deg);
}
<button>X</button>

有没有办法在鼠标进入时只让鼠标旋转?


解决方案

使用animation代替transition并使用animation-play-stateMDN

button{
  animation: rotate360 1.2s linear infinite;  /* animation set */
  animation-play-state: paused;               /* but paused */
}
button:hover{
  animation-play-state: running;              /* trigger on hover */
}
@keyframes rotate360 {
  to { transform: rotate(360deg); }           
}
<button>X</button>

相关文章