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

如何在Vue应用首屏加载时为加载图片添加动画效果

解决方案
  • 方案1:内联CSS动画(优先推荐,稳定性最高)
    你之前CSS动画偶发失效的核心原因是动画样式写在了外部业务CSS文件中,首屏加载阶段Vue相关打包资源还未加载完成,样式未生效导致。直接把动画代码内联到index.html的<head>标签内即可解决:
<head>
  <!-- 保留原有head的所有内容,新增以下样式 -->
  <style>
    @keyframes pulseScale {
      0% { transform: translate(-50%, -50%) scale(0.5); }
      50% { transform: translate(-50%, -50%) scale(1); }
      100% { transform: translate(-50%, -50%) scale(0.5); }
    }
    .img-logo {
      animation: pulseScale 1s infinite ease-in-out;
    }
  </style>
</head>

你也可以根据需求修改动画规则,实现旋转、渐隐等其他加载效果。

  • 方案2:修复现有SVG animateTransform 动画
    你当前SVG动画无效果是因为<g>元素默认变换原点为左上角,缩放效果没有以logo中心为基准,看起来像未触发动画。修改<g class="cls-1">标签添加两个属性即可:
<g class="cls-1" transform-origin="50% 50%" transform-box="fill-box">
  <!-- 原有animateTransform标签和内层Layer_2内容保持不变 -->
</g>

补充注意项

Vue实例挂载完成后需要手动移除加载容器,避免遮挡业务内容,在项目入口main.js中添加逻辑即可:

new Vue({
  render: h => h(App),
  mounted() {
    document.getElementById('loading__container')?.remove()
  }
}).$mount('#app')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:27:00