| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <!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 + Vite + TypeScript + Element-Plus 的后台管理模板 " />
- <meta
- name="keywords"
- content="vue,element-plus,typescript,vue-element-admin,vue3-element-admin"
- />
- <title>%VITE_APP_TITLE%</title>
- </head>
- <body>
- <div id="app">
- <div class="loading-container">
- <div class="loading-spinner">
- <div class="loading-bar"></div>
- <div class="loading-bar"></div>
- <div class="loading-bar"></div>
- </div>
- </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%;
- }
- .loading-container {
- display: flex;
- flex-direction: column;
- gap: 24px;
- align-items: center;
- justify-content: center;
- }
- .loading-spinner {
- display: flex;
- gap: 6px;
- align-items: center;
- justify-content: center;
- height: 40px;
- }
- .loading-bar {
- width: 4px;
- height: 24px;
- background-color: #498cff;
- border-radius: 2px;
- animation: loading-animation 1.2s ease-in-out infinite;
- }
- .loading-bar:nth-child(1) {
- animation-delay: 0s;
- }
- .loading-bar:nth-child(2) {
- animation-delay: 0.2s;
- }
- .loading-bar:nth-child(3) {
- animation-delay: 0.4s;
- }
- @keyframes loading-animation {
- 0% {
- opacity: 0.3;
- transform: scaleY(0.5);
- }
- 50% {
- opacity: 1;
- transform: scaleY(1.2);
- }
- 100% {
- opacity: 0.3;
- transform: scaleY(0.5);
- }
- }
- </style>
- </html>
|