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