美文网首页
Vue防止白屏添加首屏动画

Vue防止白屏添加首屏动画

作者: liunewshine | 来源:发表于2019-09-29 17:17 被阅读0次

单页应用有个无法避免的问题就是首屏加载慢,虽然可以通过<font color=red>gzip、路由懒加载、CDN、提高服务器带宽</font>等手段,首屏加载速度仍然比传统多页应用慢一些。

为了提高用户体验,首屏添加loading动画很有必要,并且实现特别简单。

vue-cli3生成的项目中,打开index.html会发现如下代码

<body>
  <noscript>
    <strong>We're sorry but doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
  </noscript>
  <div id="app"></div>
  <!-- built files will be auto injected -->

</body>

我们只需要在这个div中插入loading代码即可,vue初始化完成后会自动替换

<div id="app">此处插入loading代码</div>

以下是我实现的一种动画效果,可自行替换

image
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  <meta http-equiv="X-UA-Compatible" content="chrome=1"/>
  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  <link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_1112431_q8oa3yvrwbh.css">
  <title>demo</title>
  <style>
    .spinner {
      margin: 100px auto;
      width: 50px;
      height: 60px;
      text-align: center;
      font-size: 10px;
    }

    .spinner > div {
      background-color: #FE3C71;
      height: 100%;
      width: 6px;
      display: inline-block;
      -webkit-animation: stretchDelay 1.2s infinite ease-in-out;
      animation: stretchDelay 1.2s infinite ease-in-out;
    }

    .spinner .rect2 {
      -webkit-animation-delay: -1.1s;
      animation-delay: -1.1s;
    }

    .spinner .rect3 {
      -webkit-animation-delay: -1.0s;
      animation-delay: -1.0s;
    }

    .spinner .rect4 {
      -webkit-animation-delay: -0.9s;
      animation-delay: -0.9s;
    }

    .spinner .rect5 {
      -webkit-animation-delay: -0.8s;
      animation-delay: -0.8s;
    }

    @-webkit-keyframes stretchDelay {
      0%, 40%, 100% {
        -webkit-transform: scaleY(0.4)
      }
      20% {
        -webkit-transform: scaleY(1.0)
      }
    }

    @keyframes stretchDelay {
      0%, 40%, 100% {
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
      }
      20% {
        transform: scaleY(1.0);
        -webkit-transform: scaleY(1.0);
      }
    }
  </style>
</head>
<body>
<noscript>
  <strong>We're sorry but demo doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app">
  <div class="spinner">
    <div class="rect1"></div>
    <div class="rect2"></div>
    <div class="rect3"></div>
    <div class="rect4"></div>
    <div class="rect5"></div>
  </div>
</div>
<!-- built files will be auto injected -->
</body>
</html>

相关文章

  • Vue防止白屏添加首屏动画

    单页应用有个无法避免的问题就是首屏加载慢,虽然可以通过 gzip、路由懒加载、CDN、提高服务器带宽 等手段,首屏...

  • Vue首屏加载慢的优化方案

    使用vue构建项目首屏加载时,出现加载慢,白屏的问题解决方案: 步骤一 webpack来打包vue项目,vendo...

  • 网页性能优化

    一、网页加载流程图 二、白屏与首屏 2.1 白屏时间 白屏时间:页面开始展示的时间点 - 开始请求的时间点 开始请...

  • 五、Vue动画 ------ 2020-05-07

    1、常见的能触发动画的操作及添加动画的方式 2、Vue动画的基本使用:通过添加CSS样式使用 3、Vue动画的基本...

  • vue实现首屏加载等待动画 避免首次加载白屏尴尬

    0 直接上效果图 1背景,用户体验良好一直是个重要的问题。 2怎么加到自己项目里面? 复制css html代码到自...

  • Vue路由懒加载

    VUE路由懒加载及组件懒加载一、为什么要使用路由懒加载为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问...

  • vue-cli3 配置骨架屏方案

    vue-cli3配置骨架屏方案 前言 最近在学vue,准备使用vue写一个移动端项目。考虑到首页白屏优化,需要实现...

  • 如何计算白屏与首屏时间?

    什么是白屏与首屏时间? 白屏时间是指浏览器从响应用户输入网址地址,到浏览器开始显示内容的时间。 白屏时间 = 地址...

  • 常见面试题--js+css+vue

    1、变量提升、函数提升 2、数组的常用方法 3.优化首屏加载速度 4.Vue 首屏加载速度优化 5、Vue如何设置...

  • 前端面试题(三)

    1. 服务器端渲染(ssr:service side render) 优点: 解决白屏问题,提高首屏渲染速度 可...

网友评论

      本文标题:Vue防止白屏添加首屏动画

      本文链接:https://www.haomeiwen.com/subject/vlfqpctx.html