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

transform:translate(-50%,-50%)与scale()共存时居中失效问题求助

解决transform:scale()导致绝对定位元素居中失效的问题

问题根源很明确:你在hover状态下设置transform:scale(0.7)时,完全覆盖了初始状态里用于居中的transform:translate(-50%, -50%),元素失去了位移修正,自然就偏离中心了。

直接修改hover状态的transform属性,把居中位移和缩放效果合并在一起即可:

.container:hover .play__circle{
  opacity: 1;
  transform: translate(-50%, -50%) scale(0.7);
}

这样修改后,元素会同时保留translate(-50%, -50%)的居中定位,以及scale(0.7)的缩放效果,过渡动画也能正常执行。

另外还有一种替代思路:给play__circle设置transform-origin: center center(默认值就是中心,可省略),再通过calc()计算top/left值实现居中,但第一种方法更简洁高效,是首选方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 10:22:08