8
0
ZaiZai 10 месяцев назад
Родитель
Сommit
29b3678a65
2 измененных файлов с 165 добавлено и 82 удалено
  1. 9 8
      index.html
  2. 156 74
      public/plugins/css/loading.css

+ 9 - 8
index.html

@@ -14,15 +14,16 @@
 </head>
 <body>
 <div id="app">
-    <div class="loading">
-        <div class="loading-wrap">
-            <div class="loading-dots">
-                <span class="dot dot-spin">
-                    <i></i><i></i><i></i><i></i>
-                </span>
-            </div>
-            <div class="loading-title">系统加载中</div>
+    <div id='loader-wrapper'>
+        <div class='loader-box'>
+            <span>系</span>
+            <span>统</span>
+            <span>加</span>
+            <span>载</span>
+            <span>中</span>
+            <span>...</span>
         </div>
+        <div class='loader-title'>初次访问会较慢,请稍等一会儿...</div>
     </div>
 </div>
 <script type="module" src="/src/main.js"></script>

+ 156 - 74
public/plugins/css/loading.css

@@ -1,116 +1,198 @@
 .loading {
-  display: flex;
-  width: 100%;
-  height: 100%;
-  justify-content: center;
-  align-items: center;
-  flex-direction: column;
-  background-color: #f4f7f9
+    display: flex;
+    width: 100%;
+    height: 100%;
+    justify-content: center;
+    align-items: center;
+    flex-direction: column;
+    background-color: #f4f7f9
 }
 
 .loading .loading-wrap {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  display: flex;
-  -webkit-transform: translate3d(-50%, -50%, 0);
-  transform: translate3d(-50%, -50%, 0);
-  justify-content: center;
-  align-items: center;
-  flex-direction: column
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    display: flex;
+    -webkit-transform: translate3d(-50%, -50%, 0);
+    transform: translate3d(-50%, -50%, 0);
+    justify-content: center;
+    align-items: center;
+    flex-direction: column
 }
 
 .loading .dots {
-  display: flex;
-  padding: 98px;
-  justify-content: center;
-  align-items: center
+    display: flex;
+    padding: 98px;
+    justify-content: center;
+    align-items: center
 }
 
 .loading .loading-title {
-  display: flex;
-  font-weight: bold;
-  margin-top: 30px;
-  font-size: 34px;
-  color: rgba(0, 0, 0, .85);
-  justify-content: center;
-  align-items: center
+    display: flex;
+    font-weight: bold;
+    margin-top: 30px;
+    font-size: 18px;
+    color: rgba(0, 0, 0, .85);
+    justify-content: center;
+    align-items: center
 }
 
 
 .dot {
-  position: relative;
-  display: inline-block;
-  width: 48px;
-  height: 48px;
-  margin-top: 30px;
-  font-size: 32px;
-  transform: rotate(45deg);
-  box-sizing: border-box;
-  animation: antRotate 1.2s infinite linear
+    position: relative;
+    display: inline-block;
+    width: 40px;
+    height: 40px;
+    margin-top: 30px;
+    font-size: 28px;
+    transform: rotate(45deg);
+    box-sizing: border-box;
+    animation: antRotate 1.2s infinite linear
 }
 
 .dot i {
-  position: absolute;
-  display: block;
-  width: 20px;
-  height: 20px;
-  background-color: #0065cc;
-  border-radius: 100%;
-  opacity: .3;
-  transform: scale(.75);
-  animation: antSpinMove 1s infinite linear alternate;
-  transform-origin: 50% 50%
+    position: absolute;
+    display: block;
+    width: 20px;
+    height: 20px;
+    background-color: #0065cc;
+    border-radius: 100%;
+    opacity: .3;
+    transform: scale(.75);
+    animation: antSpinMove 1s infinite linear alternate;
+    transform-origin: 50% 50%
 }
 
 .dot i:nth-child(1) {
-  top: 0;
-  left: 0
+    top: 0;
+    left: 0
 }
 
 .dot i:nth-child(2) {
-  top: 0;
-  right: 0;
-  -webkit-animation-delay: .4s;
-  animation-delay: .4s
+    top: 0;
+    right: 0;
+    -webkit-animation-delay: .4s;
+    animation-delay: .4s
 }
 
 .dot i:nth-child(3) {
-  right: 0;
-  bottom: 0;
-  -webkit-animation-delay: .8s;
-  animation-delay: .8s
+    right: 0;
+    bottom: 0;
+    -webkit-animation-delay: .8s;
+    animation-delay: .8s
 }
 
 .dot i:nth-child(4) {
-  bottom: 0;
-  left: 0;
-  -webkit-animation-delay: 1.2s;
-  animation-delay: 1.2s
+    bottom: 0;
+    left: 0;
+    -webkit-animation-delay: 1.2s;
+    animation-delay: 1.2s
 }
 
 @keyframes antRotate {
-  to {
-    -webkit-transform: rotate(405deg);
-    transform: rotate(405deg)
-  }
+    to {
+        -webkit-transform: rotate(405deg);
+        transform: rotate(405deg)
+    }
 }
 
 @-webkit-keyframes antRotate {
-  to {
-    -webkit-transform: rotate(405deg);
-    transform: rotate(405deg)
-  }
+    to {
+        -webkit-transform: rotate(405deg);
+        transform: rotate(405deg)
+    }
 }
 
 @keyframes antSpinMove {
-  to {
-    opacity: 1
-  }
+    to {
+        opacity: 1
+    }
 }
 
 @-webkit-keyframes antSpinMove {
-  to {
-    opacity: 1
-  }
+    to {
+        opacity: 1
+    }
+}
+
+
+#loader-wrapper {
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    z-index: 99999;
+    background-color: #151a26;
+}
+
+#loader-wrapper .loader-box {
+    position: fixed;
+    left: calc(50% - 250px);
+    top: calc(50% - 100px);
+    margin: 0 auto;
+    width: 500px;
+    height: 200px;
+    text-align: center;
+    vertical-align: center;
+    font-weight: bold;
+    color: #87888E;
+    font-size: 35px;
+}
+
+#loader-wrapper .loader-box > span {
+    opacity: 0.4;
+    display: inline-block;
+    animation: bouncingLoader 1s infinite alternate;
+}
+
+#loader-wrapper .loader-box > span:nth-child(2) {
+    animation-delay: 0.1s;
+}
+
+#loader-wrapper .loader-box > span:nth-child(3) {
+    animation-delay: 0.2s;
+}
+
+#loader-wrapper .loader-box > span:nth-child(4) {
+    animation-delay: 0.3s;
+}
+
+#loader-wrapper .loader-box > span:nth-child(5) {
+    animation-delay: 0.4s;
+}
+
+#loader-wrapper .loader-box > span:nth-child(6) {
+    animation-delay: 0.5s;
+}
+
+#loader-wrapper .loader-box > span:nth-child(7) {
+    animation-delay: 0.6s;
+}
+
+@keyframes bouncingLoader {
+    0% {
+        transform: translateY(0);
+    }
+    50% {
+        transform: translateY(25px);
+    }
+    100% {
+        transform: translateY(0);
+    }
+}
+
+#loader-wrapper .loader-title {
+    font-weight: bold;
+    z-index: 1002;
+    position: absolute;
+    top: 50%;
+    margin-top: 15px;
+    color: #87888E;
+    font-size: 18px;
+    width: 100%;
+    height: 30px;
+    text-align: center;
+    opacity: 0.4;
+    line-height: 30px;
 }