You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让CSS hover动画结束后平滑返回元素原始位置与样式

问题原因

你当前使用的CSS关键帧动画仅绑定在:hover伪类上,仅当鼠标悬停在元素上时动画才会触发。当鼠标移出元素后,:hover状态失效,已触发的动画会直接中断,元素没有对应的过渡逻辑回到初始样式,因此会出现生硬的跳转效果。

解决方案

这类两个状态之间的简单切换效果,使用transition属性实现更简便,也天然支持入场、退场双向平滑过渡,修改后的CSS代码如下:

.nav_links a {
  color: #342056;
  font-family: "Open Sans", sans-serif;
  font-size: 1.2em;
  text-decoration: none;
  letter-spacing: 2px;
  /* 给所有可过渡属性添加0.5s的平滑过渡效果 */
  transition: all 0.5s ease;
}

.nav_links a:hover {
  /* 直接写悬停后的目标样式即可,不需要定义keyframes */
  color: #0d0220;
  text-decoration: underline;
  letter-spacing: 3px;
  font-size: 1.3em;
}

注意事项

transition属性需要添加在元素的默认状态选择器中,不要仅添加到:hover选择器里,这样才能保证鼠标移入、移出时都能触发过渡效果。如果你确实需要使用关键帧实现更复杂的多阶段动画,才需要额外给默认状态定义反向的退场动画,这个场景下使用transition是最优方案。

内容的提问来源于stack exchange,提问作者AbdelrahmanAhmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:42:01