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

CSS过渡时长失效?logo悬停瞬间过渡问题排查

问题原因与解决方案:CSS过渡失效变为瞬间完成

你遇到的这个问题其实是CSS过渡的一个常见坑——过渡动画要求属性必须有明确的起始值和结束值,浏览器才能在两者之间计算出平滑的过渡效果。

在你的代码里,.logo-box只在父级#hover-box:hover触发时设置了top:74px,但没有给.logo-box本身设置初始的top值。此时浏览器会把元素的默认位置(也就是top:auto)当作起始状态,而auto是一个特殊的关键字值,和具体的像素值(74px)之间无法生成有效的过渡动画,所以就会直接瞬间跳到目标位置,完全忽略你设置的0.2s过渡时长。

修复方案:给.logo-box添加初始top值

只需要给.logo-box明确设置初始的top:0px,让浏览器能识别到起始状态和结束状态的数值差值,过渡动画就会正常按照你设置的时长执行了。修改后的完整CSS代码如下:

.logo-box {
  width: 150px;
  position: relative;
  background-color: black;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  top: 0px; /* 添加初始top值,明确过渡起始状态 */
  transition: top 0.2s; /* 确保过渡属性指向top(如果之前省略了属性名,建议补全) */
}

#hover-box:hover > .logo-box {
  top: 74px;
}

额外小提示:建议把过渡属性写得更明确(比如transition: top 0.2s ease),指定具体的过渡属性、时长和缓动函数,这样能避免因属性省略导致的其他意外问题,代码可读性也更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:54:29