index.vue 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <template>
  2. <div class="fireflies-box">
  3. <div class="fireflies">
  4. <div class="firefly"></div>
  5. <div class="firefly"></div>
  6. <div class="firefly"></div>
  7. <div class="firefly"></div>
  8. <div class="firefly"></div>
  9. <div class="firefly"></div>
  10. </div>
  11. </div>
  12. </template>
  13. <script>
  14. export default {
  15. name: 'FireFlies'
  16. }
  17. </script>
  18. <style lang="less" scoped>
  19. .fireflies-box {
  20. width: 100%;
  21. height: 100%;
  22. background: transparent;
  23. position: absolute;
  24. top: 0;
  25. left: 0;
  26. .fireflies {
  27. position: relative;
  28. width: 100%;
  29. height: 100%;
  30. .firefly {
  31. position:absolute;
  32. top:50%;
  33. left:50%;
  34. width:0.3em;
  35. height:0.3em;
  36. background-color:rgb(255, 244, 48);
  37. border-radius:50%;
  38. box-shadow:0 0 1.4em rgb(200, 244, 66);
  39. }
  40. .fly1 {
  41. animation: flight1 7s ease-in-out alternate infinite;
  42. }
  43. .fly2 {
  44. animation: flight2 9s ease-in-out alternate infinite;
  45. }
  46. .fly3 {
  47. animation: flight3 8s ease-in-out alternate infinite;
  48. }
  49. .fly4 {
  50. animation: flight4 8s ease-in-out alternate infinite;
  51. }
  52. .fly5 {
  53. animation: flight5 6s ease-in-out alternate infinite;
  54. }
  55. .fly6 {
  56. animation:flight6 9s ease-in-out alternate infinite;
  57. }
  58. }
  59. @keyframes shake {
  60. 0% {
  61. opacity: 0.1;
  62. }
  63. 30% {
  64. opacity: 1;
  65. width: 0.5em;
  66. height: 0.5em;
  67. }
  68. 70% {
  69. opacity: 0.7;
  70. width: 0.4em;
  71. height: 0.4em;
  72. }
  73. 100% {
  74. opacity: 0;
  75. }
  76. }
  77. @keyframes flight1 {
  78. 0% {
  79. top: 50%;
  80. left: 50%;
  81. opacity: 0.1;
  82. }
  83. 10% {
  84. top: 40%;
  85. left: 40%;
  86. opacity:0.5;
  87. width:0.4em;
  88. height:0.4em;
  89. }
  90. 20% {
  91. top: 32%;
  92. left: 35%;
  93. opacity: 1;
  94. }
  95. 30% {
  96. top: 25%;
  97. left: 25%;
  98. opacity:1;
  99. width:0.1em;
  100. height:0.1em;
  101. }
  102. 40% {
  103. top: 20%;
  104. left: 20%;
  105. opacity: 1;
  106. }
  107. 60% {
  108. top: 25%;
  109. left: 16%;
  110. opacity: 0.5;
  111. width:0.4em;
  112. height:0.4em;
  113. }
  114. 70% {
  115. top: 10%;
  116. left: 10%;
  117. opacity:0.1;
  118. width:0.3em;
  119. height:0.3em;
  120. }
  121. 100% {
  122. top:5%;
  123. left:5%;
  124. opacity:0;
  125. }
  126. }
  127. @keyframes flight2 {
  128. }
  129. @keyframes flight3 {
  130. }
  131. @keyframes flight4 {
  132. }
  133. @keyframes flight5 {
  134. }
  135. @keyframes flight6 {
  136. }
  137. }
  138. </style>