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

Safari浏览器忽略CSS动画中opacity属性变更问题求助

Safari浏览器忽略CSS动画中opacity属性变更问题求助

大家好,之前这个加载动画效果一直正常运行,但最近我在iOS Safari上打开网站时,发现它出问题了——估计是浏览器更新导致的。我在笔记本的Safari上也测试了,同样有问题,但Chrome和Firefox里表现完全正常。

简单说下需求:这是个页面加载完成后的过渡动画,动画结束后需要把加载层设置opacity: 0;来隐藏它(毕竟加载完成后就不需要显示这个层了)。我把代码简化成了彩色盒子的示例,你能看到Safari完全不搭理动画最后一步的opacity属性变更,但其他属性比如scale是正常生效的。原本的完整动画还有缩放逻辑,我保留了这部分,虽然单独看这个简化示例里缩放有点无厘头,但至少能证明其他CSS声明是被正常识别的。

有没有大佬知道突然出现这个问题的原因?提前谢过大家了!

问题复现代码:

<style>
.pixel-load {
  background: #f00;
  display: block;
  height: 400px;
  width: 300px;
}

.pixel-load__preload {
  background: #00f;
  display: block;
  height: 100%;
  width: 100%;
}

.pixel-load.loaded .pixel-load__preload {
  animation: loaded .32s .16s steps(1, end) both;
}

@keyframes loaded {
  0% {
    scale: 1.6;
  }
  33% {
    scale: 1.2;
  }
  66% {
    scale: 1;
  }
  100% {
    opacity: 0;
    scale: 1;
    z-index: 1;
  }
}
</style>

<div class="pixel-load loaded">
  <div class="pixel-load__preload"></div>
</div>

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 12:08:08