index.html 3.7 KB

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