index.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta
  7. name="description"
  8. content="印界智程"
  9. />
  10. <meta name="keywords" content="印界智程" />
  11. <title></title>
  12. </head>
  13. <body>
  14. <div id="app" class="app">
  15. <!--加载动画-->
  16. <div class="mesh-loader">
  17. <div class="set-one">
  18. <div class="circle"></div>
  19. <div class="circle"></div>
  20. </div>
  21. <div class="set-two">
  22. <div class="circle"></div>
  23. <div class="circle"></div>
  24. </div>
  25. </div>
  26. </div>
  27. <script type="module" src="/src/main.ts"></script>
  28. <script>
  29. global = globalThis;
  30. </script>
  31. <style>
  32. html,
  33. body,
  34. #app {
  35. position: relative;
  36. display: flex;
  37. align-items: center;
  38. justify-content: center;
  39. width: 100%;
  40. height: 100%;
  41. }
  42. .mesh-loader {
  43. width: 100%;
  44. height: 100%;
  45. overflow: hidden;
  46. }
  47. .mesh-loader .circle {
  48. position: absolute;
  49. width: 25px;
  50. height: 25px;
  51. margin: -12.5px;
  52. background: #03a9f4;
  53. border-radius: 50%;
  54. animation: mesh 3s ease-in-out infinite;
  55. animation: mesh 3s ease-in-out infinite -1.5s;
  56. }
  57. .mesh-loader > div .circle:last-child {
  58. animation-delay: 0s;
  59. animation-delay: 0s;
  60. }
  61. .mesh-loader > div {
  62. position: absolute;
  63. top: 50%;
  64. left: 50%;
  65. }
  66. .mesh-loader > div:last-child {
  67. transform: rotate(90deg);
  68. transform: rotate(90deg);
  69. }
  70. @keyframes mesh {
  71. 0% {
  72. transform: rotate(0);
  73. transform: rotate(0);
  74. transform-origin: 50% -100%;
  75. transform-origin: 50% -100%;
  76. }
  77. 50% {
  78. transform: rotate(360deg);
  79. transform: rotate(360deg);
  80. transform-origin: 50% -100%;
  81. transform-origin: 50% -100%;
  82. }
  83. 50.00001% {
  84. transform: rotate(0deg);
  85. transform: rotate(0deg);
  86. transform-origin: 50% 200%;
  87. transform-origin: 50% 200%;
  88. }
  89. 100% {
  90. transform: rotate(360deg);
  91. transform: rotate(360deg);
  92. transform-origin: 50% 200%;
  93. transform-origin: 50% 200%;
  94. }
  95. }
  96. @keyframes mesh {
  97. 0% {
  98. transform: rotate(0);
  99. transform: rotate(0);
  100. transform-origin: 50% -100%;
  101. transform-origin: 50% -100%;
  102. }
  103. 50% {
  104. transform: rotate(360deg);
  105. transform: rotate(360deg);
  106. transform-origin: 50% -100%;
  107. transform-origin: 50% -100%;
  108. }
  109. 50.00001% {
  110. transform: rotate(0deg);
  111. transform: rotate(0deg);
  112. transform-origin: 50% 200%;
  113. transform-origin: 50% 200%;
  114. }
  115. 100% {
  116. transform: rotate(360deg);
  117. transform: rotate(360deg);
  118. transform-origin: 50% 200%;
  119. transform-origin: 50% 200%;
  120. }
  121. }
  122. </style>
  123. </body>
  124. </html>