feat: 更换加载动画

This commit is contained in:
xiaoxian521 2021-07-22 11:33:45 +08:00
parent 9bb4f34707
commit c260f88e38
5 changed files with 81 additions and 149 deletions

View File

@ -1,16 +1,15 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
<link rel="stylesheet" href="/iconfont.css" /> <link rel="stylesheet" href="/iconfont.css" />
<link rel="stylesheet" href="/animate.css"> <link rel="stylesheet" href="/animate.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>后台管理系统</title> <title>后台管理系统</title>
<script src="https://cdn.bootcdn.net/ajax/libs/Sortable/1.13.0/Sortable.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/Sortable/1.13.0/Sortable.js"></script>
<script> <script>
window.process = {} window.process = {};
</script> </script>
</head> </head>
@ -20,120 +19,60 @@
* { * {
margin: 0; margin: 0;
padding: 0; padding: 0;
box-sizing: border-box;
} }
section { html,
body {
width: 100%;
height: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
min-height: 100vh; background: #000;
background: #001d10; overflow: hidden;
animation: animateBackgroundC0olor 10s linear infinite; font-family: "Reggae One", cursive;
} }
@keyframes animateBackgroundC0olor { p {
0% { font-size: 12vw;
filter: hue-rotate(0deg); overflow: hidden;
-webkit-text-stroke: 3px #7272a5;
} }
100% { p::before {
filter: hue-rotate(360deg); content: " ";
} width: 100%;
} height: 100%;
.loading {
position: relative;
width: 250px;
height: 250px;
}
.loading .blocks {
position: absolute; position: absolute;
width: 8px; left: 0;
height: 25px; top: 0;
background-color: #050c09; background-image: linear-gradient(45deg, #ff269b, #2ab5f5, #ffbf00);
left: 50%; mix-blend-mode: multiply;
border-radius: 8px;
transform: rotate(calc(18deg * var(--i)));
transform-origin: 0 125px;
animation: animate 1.9s ease-in-out infinite;
animation-delay: calc(0.05s * var(--i));
} }
@keyframes animate { p::after {
content: "";
0%, background: radial-gradient(circle, #fff, #000 50%);
50% { background-size: 25% 25%;
background: #050c09;
box-shadow: none;
}
50.1%,
100% {
background: #0f0;
box-shadow: 0 0 5px #0f0,
0 0 15px #0f0,
0 0 30px #0f0,
0 0 60px #0f0,
0 0 90px #0f0;
}
}
h3 {
position: absolute; position: absolute;
top: 50%; top: -100%;
left: 50%; left: -100%;
transform: translate(-50%, -50%); right: 0;
font-size: 2em; bottom: 0;
letter-spacing: 2px; mix-blend-mode: color-dodge;
animation: animateText 2s ease-in-out infinite; animation: mix 2s linear infinite;
animation-delay: -1s;
} }
@keyframes animateText { @keyframes mix {
to {
0%, transform: translate(50%, 50%);
50% {
color: #050c09;
text-shadow: none;
}
50.1%,
100% {
color: #0f0;
text-shadow: 0 0 5px #0f0,
0 0 15px #0f0;
} }
} }
</style> </style>
<section> <div class="g-container">
<div class="loading"> <p>Pure-Admin</p>
<div class="blocks" style="--i:1;"></div>
<div class="blocks" style="--i:2;"></div>
<div class="blocks" style="--i:3;"></div>
<div class="blocks" style="--i:4;"></div>
<div class="blocks" style="--i:5;"></div>
<div class="blocks" style="--i:6;"></div>
<div class="blocks" style="--i:7;"></div>
<div class="blocks" style="--i:8;"></div>
<div class="blocks" style="--i:9;"></div>
<div class="blocks" style="--i:10;"></div>
<div class="blocks" style="--i:11;"></div>
<div class="blocks" style="--i:12;"></div>
<div class="blocks" style="--i:13;"></div>
<div class="blocks" style="--i:14;"></div>
<div class="blocks" style="--i:15;"></div>
<div class="blocks" style="--i:16;"></div>
<div class="blocks" style="--i:17;"></div>
<div class="blocks" style="--i:18;"></div>
<div class="blocks" style="--i:19;"></div>
<div class="blocks" style="--i:20;"></div>
<h3>loading</h3>
</div> </div>
</section>
</div> </div>
<script type="module" src="/src/main.ts"></script> <script type="module" src="/src/main.ts"></script>
</body> </body>
</html> </html>

18
package-lock.json generated
View File

@ -67,7 +67,7 @@
"sass": "^1.32.8", "sass": "^1.32.8",
"sass-loader": "^11.0.1", "sass-loader": "^11.0.1",
"typescript": "^4.2.4", "typescript": "^4.2.4",
"vite": "^2.3.8", "vite": "^2.4.3",
"vite-plugin-mock": "^2.8.0", "vite-plugin-mock": "^2.8.0",
"vite-plugin-style-import": "^1.0.1", "vite-plugin-style-import": "^1.0.1",
"vue-eslint-parser": "^7.7.2" "vue-eslint-parser": "^7.7.2"
@ -5226,13 +5226,13 @@
"dev": true "dev": true
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "2.3.8", "version": "2.4.3",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.3.8.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-2.4.3.tgz",
"integrity": "sha512-QiEx+iqNnJntSgSF2fWRQvRey9pORIrtNJzNyBJXwc+BdzWs83FQolX84cTBo393cfhObrtWa6180dAa4NLDiQ==", "integrity": "sha512-iT6NPeiUUZ2FkzC3eazytOEMRaM4J+xgRQcNcpRcbmfYjakCFP4WKPJpeEz1U5JEKHAtwv3ZBQketQUFhFU3ng==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"esbuild": "^0.12.8", "esbuild": "^0.12.8",
"postcss": "^8.3.4", "postcss": "^8.3.5",
"resolve": "^1.20.0", "resolve": "^1.20.0",
"rollup": "^2.38.5" "rollup": "^2.38.5"
}, },
@ -9547,14 +9547,14 @@
"dev": true "dev": true
}, },
"vite": { "vite": {
"version": "2.3.8", "version": "2.4.3",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.3.8.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-2.4.3.tgz",
"integrity": "sha512-QiEx+iqNnJntSgSF2fWRQvRey9pORIrtNJzNyBJXwc+BdzWs83FQolX84cTBo393cfhObrtWa6180dAa4NLDiQ==", "integrity": "sha512-iT6NPeiUUZ2FkzC3eazytOEMRaM4J+xgRQcNcpRcbmfYjakCFP4WKPJpeEz1U5JEKHAtwv3ZBQketQUFhFU3ng==",
"dev": true, "dev": true,
"requires": { "requires": {
"esbuild": "^0.12.8", "esbuild": "^0.12.8",
"fsevents": "~2.3.2", "fsevents": "~2.3.2",
"postcss": "^8.3.4", "postcss": "^8.3.5",
"resolve": "^1.20.0", "resolve": "^1.20.0",
"rollup": "^2.38.5" "rollup": "^2.38.5"
}, },

View File

@ -78,7 +78,7 @@
"sass": "^1.32.8", "sass": "^1.32.8",
"sass-loader": "^11.0.1", "sass-loader": "^11.0.1",
"typescript": "^4.2.4", "typescript": "^4.2.4",
"vite": "^2.3.8", "vite": "^2.4.3",
"vite-plugin-mock": "^2.8.0", "vite-plugin-mock": "^2.8.0",
"vite-plugin-style-import": "^1.0.1", "vite-plugin-style-import": "^1.0.1",
"vue-eslint-parser": "^7.7.2" "vue-eslint-parser": "^7.7.2"

View File

@ -15,22 +15,14 @@ body {
Microsoft YaHei, Arial, sans-serif; Microsoft YaHei, Arial, sans-serif;
} }
label {
font-weight: 700;
}
html { html {
overflow-x: hidden;
width: 100%; width: 100%;
height: 100%; height: 100%;
box-sizing: border-box; box-sizing: border-box;
} }
#app { label {
width: 100%; font-weight: 700;
height: 100%;
overflow: hidden;
// background-color: #f0f2f5;
} }
*, *,
@ -80,8 +72,8 @@ ul {
.login, .login,
.register { .register {
width: 100%; width: 100vw;
height: 100%; height: 100vh;
overflow-x: hidden; overflow-x: hidden;
background: url("../assets/bg.png") no-repeat center; background: url("../assets/bg.png") no-repeat center;
background-size: cover; background-size: cover;

View File

@ -44,6 +44,7 @@ export default ({ command }: ConfigEnv): UserConfigExport => {
* @default 3000 * @default 3000
*/ */
port: VITE_PORT, port: VITE_PORT,
host: "0.0.0.0",
// 本地跨域代理 // 本地跨域代理
proxy: createProxy(VITE_PROXY) proxy: createProxy(VITE_PROXY)
}, },