index.html 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <!doctype html>
  2. <html lang="zh-cn" class="transition-colors">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0" />
  7. <meta
  8. content="Gin,Vue,Admin.Gin-Vue-Admin,GVA,gin-vue-admin,后台管理框架,vue后台管理框架,gin-vue-admin文档,gin-vue-admin首页,gin-vue-admin"
  9. name="keywords"
  10. />
  11. <link rel="icon" href="favicon.ico" />
  12. <title></title>
  13. <style>
  14. .transition-colors {
  15. transition-property: color, background-color, border-color,
  16. text-decoration-color, fill, stroke;
  17. transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  18. transition-duration: 150ms;
  19. }
  20. body {
  21. margin: 0;
  22. --64f90c3645474bd5: #409eff;
  23. }
  24. #gva-loading-box {
  25. position: relative;
  26. display: flex;
  27. align-items: center;
  28. justify-content: center;
  29. height: 100vh;
  30. width: 100vw;
  31. }
  32. #loading-text {
  33. position: absolute;
  34. bottom: calc(50% - 100px);
  35. left: 0;
  36. width: 100%;
  37. text-align: center;
  38. color: #666;
  39. font-size: 14px;
  40. }
  41. #loading {
  42. position: absolute;
  43. top: calc(50% - 20px);
  44. left: calc(50% - 20px);
  45. }
  46. @keyframes loader {
  47. 0% {
  48. left: -100px;
  49. }
  50. 100% {
  51. left: 110%;
  52. }
  53. }
  54. #box {
  55. width: 50px;
  56. height: 50px;
  57. background: var(--64f90c3645474bd5);
  58. animation: animate 0.5s linear infinite;
  59. position: absolute;
  60. top: 0;
  61. left: 0;
  62. border-radius: 3px;
  63. }
  64. @keyframes animate {
  65. 17% {
  66. border-bottom-right-radius: 3px;
  67. }
  68. 25% {
  69. transform: translateY(9px) rotate(22.5deg);
  70. }
  71. 50% {
  72. transform: translateY(18px) scale(1, 0.9) rotate(45deg);
  73. border-bottom-right-radius: 40px;
  74. }
  75. 75% {
  76. transform: translateY(9px) rotate(67.5deg);
  77. }
  78. 100% {
  79. transform: translateY(0) rotate(90deg);
  80. }
  81. }
  82. #shadow {
  83. width: 50px;
  84. height: 5px;
  85. background: #000;
  86. opacity: 0.1;
  87. position: absolute;
  88. top: 59px;
  89. left: 0;
  90. border-radius: 50%;
  91. animation: shadow 0.5s linear infinite;
  92. }
  93. .dark #shadow {
  94. background: #fff;
  95. }
  96. @keyframes shadow {
  97. 50% {
  98. transform: scale(1.2, 1);
  99. }
  100. }
  101. </style>
  102. </head>
  103. <body>
  104. <div id="gva-loading-box">
  105. <div id="loading">
  106. <div id="shadow"></div>
  107. <div id="box"></div>
  108. </div>
  109. <div id="loading-text">系统正在加载中,请稍候...</div>
  110. </div>
  111. <div id="app"></div>
  112. <script type="module" src="./src/main.js"></script>
  113. </body>
  114. </html>