67 lines
1.5 KiB
HTML
67 lines
1.5 KiB
HTML
|
<!doctype html>
|
|||
|
<html lang="en">
|
|||
|
<head>
|
|||
|
<meta charset="UTF-8" />
|
|||
|
<link rel="icon" href="/favicon.ico" />
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|||
|
<meta
|
|||
|
name="description"
|
|||
|
content="Vue3 + Vite5 + TypeScript5 + Element-Plus 的后台管理模板,配套接口文档和后端源码,vue-element-admin 的 Vue3 版本"
|
|||
|
/>
|
|||
|
<meta
|
|||
|
name="keywords"
|
|||
|
content="vue,element-plus,typescript,vue-element-admin,vue3-element-admin"
|
|||
|
/>
|
|||
|
<title>vue3-element-admin</title>
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
<div id="app">
|
|||
|
<div class="loader"></div>
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
<script type="module" src="/src/main.ts"></script>
|
|||
|
|
|||
|
<style>
|
|||
|
html,
|
|||
|
body,
|
|||
|
#app {
|
|||
|
position: relative;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
width: 100%;
|
|||
|
height: 100%;
|
|||
|
}
|
|||
|
|
|||
|
.loader {
|
|||
|
position: relative;
|
|||
|
width: 40px;
|
|||
|
aspect-ratio: 0.577;
|
|||
|
overflow: hidden;
|
|||
|
clip-path: polygon(0 0, 100% 100%, 0 100%, 100% 0);
|
|||
|
animation: l19 2s infinite linear;
|
|||
|
}
|
|||
|
|
|||
|
.loader::before {
|
|||
|
position: absolute;
|
|||
|
inset: -150%;
|
|||
|
content: "";
|
|||
|
background: repeating-conic-gradient(
|
|||
|
from 30deg,
|
|||
|
#ffabab 0 60deg,
|
|||
|
#abe4ff 0 120deg,
|
|||
|
#ff7373 0 180deg
|
|||
|
);
|
|||
|
animation: inherit;
|
|||
|
animation-direction: reverse;
|
|||
|
}
|
|||
|
|
|||
|
@keyframes l19 {
|
|||
|
100% {
|
|||
|
transform: rotate(360deg);
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|
|||
|
</html>
|