index.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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>Vue admin perfect</title>
  8. </head>
  9. <body>
  10. <div id="app">
  11. <style>
  12. .first-loading-wrp {
  13. display: flex;
  14. flex-direction: column;
  15. align-items: center;
  16. justify-content: center;
  17. height: 90vh;
  18. min-height: 90vh;
  19. }
  20. .first-loading-wrp > h1 {
  21. font-size: 30px;
  22. font-weight: bolder;
  23. }
  24. .first-loading-wrp .loading-wrp {
  25. display: flex;
  26. align-items: center;
  27. justify-content: center;
  28. padding: 98px;
  29. }
  30. .dot {
  31. position: relative;
  32. box-sizing: border-box;
  33. display: inline-block;
  34. width: 64px;
  35. height: 64px;
  36. font-size: 64px;
  37. transform: rotate(45deg);
  38. animation: antRotate 1.2s infinite linear;
  39. }
  40. .dot i {
  41. position: absolute;
  42. display: block;
  43. width: 28px;
  44. height: 28px;
  45. background-color: #1890ff;
  46. border-radius: 100%;
  47. opacity: 0.3;
  48. transform: scale(0.75);
  49. transform-origin: 50% 50%;
  50. animation: antSpinMove 1s infinite linear alternate;
  51. }
  52. .dot i:nth-child(1) {
  53. top: 0;
  54. left: 0;
  55. }
  56. .dot i:nth-child(2) {
  57. top: 0;
  58. right: 0;
  59. -webkit-animation-delay: 0.4s;
  60. animation-delay: 0.4s;
  61. }
  62. .dot i:nth-child(3) {
  63. right: 0;
  64. bottom: 0;
  65. -webkit-animation-delay: 0.8s;
  66. animation-delay: 0.8s;
  67. }
  68. .dot i:nth-child(4) {
  69. bottom: 0;
  70. left: 0;
  71. -webkit-animation-delay: 1.2s;
  72. animation-delay: 1.2s;
  73. }
  74. @keyframes antRotate {
  75. to {
  76. -webkit-transform: rotate(405deg);
  77. transform: rotate(405deg);
  78. }
  79. }
  80. @-webkit-keyframes antRotate {
  81. to {
  82. -webkit-transform: rotate(405deg);
  83. transform: rotate(405deg);
  84. }
  85. }
  86. @keyframes antSpinMove {
  87. to {
  88. opacity: 1;
  89. }
  90. }
  91. @-webkit-keyframes antSpinMove {
  92. to {
  93. opacity: 1;
  94. }
  95. }
  96. </style>
  97. <div id="vue-admin-perfect">
  98. <div class="first-loading-wrp">
  99. <div class="loading-wrp">
  100. <span class="dot dot-spin">
  101. <i></i>
  102. <i></i>
  103. <i></i>
  104. <i></i>
  105. </span>
  106. </div>
  107. <h1>vue-admin-perfect</h1>
  108. </div>
  109. </div>
  110. </div>
  111. <script type="module" src="/src/main.ts"></script>
  112. </body>
  113. </html>