index.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <link rel="icon" href="/favicon.ico" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <!-- <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" /> -->
  8. <title><%= title %></title>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <style>
  13. .app-loading {
  14. display: flex;
  15. width: 100%;
  16. height: 100%;
  17. justify-content: center;
  18. align-items: center;
  19. flex-direction: column;
  20. background: #f0f2f5;
  21. }
  22. .app-loading .app-loading-wrap {
  23. position: absolute;
  24. top: 50%;
  25. left: 50%;
  26. display: flex;
  27. transform: translate3d(-50%, -50%, 0);
  28. transform: translate3d(-50%, -50%, 0);
  29. justify-content: center;
  30. align-items: center;
  31. flex-direction: column;
  32. }
  33. .app-loading .app-loading-title {
  34. margin-bottom: 30px;
  35. font-size: 20px;
  36. font-weight: bold;
  37. text-align: center;
  38. }
  39. .app-loading .app-loading-logo {
  40. width: 100px;
  41. margin: 0 auto 15px;
  42. }
  43. .app-loading .app-loading-item {
  44. position: relative;
  45. display: inline-block;
  46. width: 60px;
  47. height: 60px;
  48. vertical-align: middle;
  49. border-radius: 50%;
  50. }
  51. .app-loading .app-loading-outter {
  52. position: absolute;
  53. width: 100%;
  54. height: 100%;
  55. border: 4px solid #2d8cf0;
  56. border-bottom: 0;
  57. border-left-color: transparent;
  58. border-radius: 50%;
  59. animation: loader-outter 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
  60. }
  61. .app-loading .app-loading-inner {
  62. position: absolute;
  63. top: calc(50% - 20px);
  64. left: calc(50% - 20px);
  65. width: 40px;
  66. height: 40px;
  67. border: 4px solid #87bdff;
  68. border-right: 0;
  69. border-top-color: transparent;
  70. border-radius: 50%;
  71. animation: loader-inner 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
  72. }
  73. @keyframes loader-outter {
  74. 0% {
  75. transform: rotate(0deg);
  76. transform: rotate(0deg);
  77. }
  78. 100% {
  79. transform: rotate(360deg);
  80. transform: rotate(360deg);
  81. }
  82. }
  83. @keyframes loader-outter {
  84. 0% {
  85. transform: rotate(0deg);
  86. transform: rotate(0deg);
  87. }
  88. 100% {
  89. transform: rotate(360deg);
  90. transform: rotate(360deg);
  91. }
  92. }
  93. @keyframes loader-inner {
  94. 0% {
  95. transform: rotate(0deg);
  96. transform: rotate(0deg);
  97. }
  98. 100% {
  99. transform: rotate(-360deg);
  100. transform: rotate(-360deg);
  101. }
  102. }
  103. @keyframes loader-inner {
  104. 0% {
  105. transform: rotate(0deg);
  106. transform: rotate(0deg);
  107. }
  108. 100% {
  109. transform: rotate(-360deg);
  110. transform: rotate(-360deg);
  111. }
  112. }
  113. </style>
  114. <div class="app-loading">
  115. <div class="app-loading-wrap">
  116. <div class="app-loading-title">
  117. <img src="/logo.png" class="app-loading-logo" alt="Logo" />
  118. <div class="app-loading-title"><%= title %></div>
  119. </div>
  120. <div class="app-loading-item">
  121. <div class="app-loading-outter"></div>
  122. <div class="app-loading-inner"></div>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. <script type="module" src="/src/main.ts"></script>
  128. </body>
  129. </html>