index.module.less 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. .delayContainer {
  2. position: relative;
  3. width: 100vw;
  4. height: 100vh;
  5. overflow: hidden;
  6. background-size: 110% 110%;
  7. background-position: center center;
  8. background-repeat: no-repeat;
  9. .delayBg {
  10. position: relative;
  11. width: 140%;
  12. height: 100%;
  13. // top: -10%;
  14. left: -20%;
  15. }
  16. .delayAdorn {
  17. position: absolute;
  18. left: 50%;
  19. top: 50%;
  20. transform: translate(-50%,-50%);
  21. pointer-events: none;
  22. width: 100%;
  23. }
  24. .leftAdorn {
  25. position: fixed;
  26. left: 0;
  27. bottom: 0;
  28. width: 1.66rem;
  29. }
  30. .rightAdorn {
  31. position: fixed;
  32. right: 0;
  33. bottom: 0;
  34. width: 1.28rem;
  35. }
  36. }
  37. .animationContainer {
  38. perspective: 500px;
  39. pointer-events: none;
  40. }
  41. .delayBackBtn {
  42. position: absolute;
  43. left: 16px;
  44. top: 13px;
  45. display: block;
  46. width: 15px;
  47. height: 15px;
  48. }
  49. .delayContent {
  50. position: absolute;
  51. left: 50%;
  52. top: 50%;
  53. transform: translate(-50%, -50%);
  54. animation: delayContentFrame infinite 10s ease-in-out both;
  55. pointer-events: none;
  56. .iconContent {
  57. display: block;
  58. width: 237px;
  59. height: 167px;
  60. }
  61. .iconDuihua {
  62. position: absolute;
  63. top: -4px;
  64. left: 143px;
  65. display: block;
  66. transform-origin: left bottom;
  67. animation: iconDuihuaScale .5s linear both;
  68. }
  69. .iconDuihua_delay{
  70. animation-delay: .7s;
  71. }
  72. .iconDuihua1 {
  73. width: 160px;
  74. height: 45px;
  75. }
  76. .iconDuihua2 {
  77. width: 141px;
  78. height: 39px;
  79. }
  80. .iconDuihua3 {
  81. width: 164px;
  82. height: 37px;
  83. }
  84. .iconDianchi {
  85. display: block;
  86. position: absolute;
  87. left: 43px;
  88. bottom: -21px;
  89. width: 150px;
  90. height: 44px;
  91. }
  92. .iconDianchiActive {
  93. display: block;
  94. position: absolute;
  95. left: 52px;
  96. bottom: -8px;
  97. width: 132px;
  98. height: 22px;
  99. pointer-events: auto;
  100. }
  101. }
  102. .delayBody {
  103. position: absolute;
  104. left: 50%;
  105. top: 50%;
  106. transform: translate(-50%,100%);
  107. .delayBox {
  108. width: 4.68rem;
  109. position: relative;
  110. .dbTop {
  111. position: absolute;
  112. left: 50%;
  113. transform: translate(-50%, -40%);
  114. .topIcon {
  115. width: 2.99rem;
  116. height: 0.39rem;
  117. }
  118. .topDots {
  119. position: absolute;
  120. left: 0;
  121. top: 0;
  122. width: 100%;
  123. height: 90%;
  124. display: flex;
  125. align-items: center;
  126. justify-content: space-between;
  127. padding: 0 0.22rem;
  128. img {
  129. width: 0.2rem;
  130. height: 0.2rem;
  131. }
  132. .aniDot3 {
  133. position: relative;
  134. width: 0.2rem;
  135. height: 0.2rem;
  136. background-image: url('./image/step_state_icon3.png');
  137. background-size: 100% 100%;
  138. background-position: center center;
  139. background-repeat: no-repeat;
  140. animation: aniBg 1.8s step-end infinite;
  141. }
  142. }
  143. }
  144. .dbContext {
  145. width: 4.68rem;
  146. height: 0.95rem;
  147. }
  148. .dbBtn {
  149. position: absolute;
  150. right: 0.21rem;
  151. bottom: 0.23rem;
  152. width: 1.21rem;
  153. height: 0.35rem;
  154. cursor: pointer;
  155. z-index: 999;
  156. }
  157. }
  158. }
  159. .heartbeat {
  160. animation: heartbeat 1.5s ease-in-out infinite both;
  161. }
  162. @keyframes heartbeat {
  163. from {
  164. transform: scale(1);
  165. transform-origin: center center;
  166. animation-timing-function: ease-out;
  167. }
  168. 10% {
  169. -webkit-transform: scale(0.91);
  170. transform: scale(0.91);
  171. animation-timing-function: ease-in;
  172. }
  173. 17% {
  174. transform: scale(0.98);
  175. animation-timing-function: ease-out;
  176. }
  177. 33% {
  178. transform: scale(0.87);
  179. animation-timing-function: ease-in;
  180. }
  181. 45% {
  182. transform: scale(1);
  183. animation-timing-function: ease-out;
  184. }
  185. }
  186. @keyframes aniBg {
  187. 0% {
  188. background-image: url('./image/step_state_icon3.png');
  189. }
  190. 25% {
  191. background-image: url('./image/step_state_icon1.png');
  192. }
  193. 50% {
  194. background-image: url('./image/step_state_icon3.png');
  195. }
  196. 75% {
  197. background-image: url('./image/step_state_icon1.png');
  198. }
  199. 100% {
  200. background-image: url('./image/step_state_icon3.png');
  201. }
  202. }
  203. @keyframes delayContentFrame {
  204. 0% {
  205. top: 47%;
  206. }
  207. 50% {
  208. top: 53%;
  209. }
  210. 100% {
  211. top: 47%
  212. }
  213. }
  214. .delayImage {
  215. display: block;
  216. position: absolute;
  217. }
  218. .icon1 {
  219. left: 119px;
  220. top: 12px;
  221. width: 59px;
  222. height: 49px;
  223. animation: icon1 infinite 5s linear;
  224. }
  225. @keyframes icon1 {
  226. 0% {
  227. transform: translateY(-6px);
  228. }
  229. 50% {
  230. transform: translateY(6px);
  231. }
  232. 100% {
  233. transform: translateY(-6px);
  234. }
  235. }
  236. .icon2 {
  237. left: 186px;
  238. top: 18px;
  239. width: 34px;
  240. height: 42px;
  241. animation: icon3 infinite 1.5s linear;
  242. }
  243. .icon3 {
  244. left: 167px;
  245. top: 66px;
  246. width: 12px;
  247. height: 12px;
  248. animation: icon3 infinite 2s linear;
  249. }
  250. @keyframes icon3 {
  251. 0% {
  252. transform: scale(1.3);
  253. }
  254. 50% {
  255. transform: scale(1);
  256. }
  257. 100% {
  258. transform: scale(1.3);
  259. }
  260. }
  261. .icon4 {
  262. left: 108px;
  263. top: 97px;
  264. width: 49px;
  265. height: 50px;
  266. animation: icon3 infinite 2s 1s linear;
  267. }
  268. .icon5 {
  269. left: -20px;
  270. top: 148px;
  271. width: 106px;
  272. height: 55px;
  273. }
  274. .icon6 {
  275. left: 53px;
  276. top: 0px;
  277. width: 84px;
  278. height: 118px;
  279. animation: icon6 2s linear infinite;
  280. }
  281. @keyframes icon6 {
  282. 100% {
  283. transform: translate(-30vw, 50vh);
  284. opacity: .5;
  285. }
  286. }
  287. .icon7 {
  288. right: 72px;
  289. top: -40px;
  290. width: 50px;
  291. height: 40px;
  292. animation: icon7 12s linear 2s infinite;
  293. }
  294. @keyframes icon7 {
  295. 100% {
  296. transform: translate(-70vw, 120vh);
  297. }
  298. }
  299. .icon8 {
  300. right: -37px;
  301. top: 0;
  302. width: 37px;
  303. height: 31px;
  304. animation: icon8 8s linear infinite;
  305. }
  306. @keyframes icon8 {
  307. 100% {
  308. transform: translate(-70vw, 100vh);
  309. }
  310. }
  311. .icon9 {
  312. right: -11px;
  313. top: 19px;
  314. width: 84px;
  315. height: 118px;
  316. animation: icon9 2s linear infinite;
  317. }
  318. @keyframes icon9 {
  319. 100% {
  320. transform: translate(-30vw, 50vh);
  321. opacity: .5;
  322. }
  323. }
  324. .icon10 {
  325. right: 7px;
  326. top: 55px;
  327. width: 27px;
  328. height: 22px;
  329. }
  330. .icon11 {
  331. right: -30px;
  332. top: 136px;
  333. width: 102px;
  334. height: 106px;
  335. transform-style: preserve-3d;
  336. animation: icon11 60s linear infinite;
  337. }
  338. @keyframes icon11 {
  339. 100% {
  340. transform: rotate(360deg);
  341. }
  342. }
  343. .icon12 {
  344. left: 0;
  345. top: 0;
  346. width: 100%;
  347. }
  348. .heartbeat {
  349. animation: heartbeat 1.5s ease-in-out infinite both;
  350. }
  351. @keyframes heartbeat {
  352. from {
  353. transform: scale(1);
  354. transform-origin: center center;
  355. animation-timing-function: ease-out;
  356. }
  357. 10% {
  358. -webkit-transform: scale(0.91);
  359. transform: scale(0.91);
  360. animation-timing-function: ease-in;
  361. }
  362. 17% {
  363. transform: scale(0.98);
  364. animation-timing-function: ease-out;
  365. }
  366. 33% {
  367. transform: scale(0.87);
  368. animation-timing-function: ease-in;
  369. }
  370. 45% {
  371. transform: scale(1);
  372. animation-timing-function: ease-out;
  373. }
  374. }
  375. @keyframes iconDuihuaScale {
  376. 0% {
  377. transform: scale(.5);
  378. opacity: 0;
  379. }
  380. 100% {
  381. transform: scale(1);
  382. opacity: 1;
  383. }
  384. }