index.scoped.scss 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636
  1. .hc-home-nav-bar {
  2. position: relative;
  3. display: flex;
  4. align-items: center;
  5. .title {
  6. flex: 1;
  7. color: #101010;
  8. font-size: 56rpx;
  9. }
  10. .icon {
  11. color: #AEAEB2;
  12. font-size: 56rpx;
  13. display: flex;
  14. align-items: center;
  15. text[class^="i-ri-"] {
  16. font-size: 48rpx;
  17. }
  18. }
  19. }
  20. .hc-flex-conten {
  21. position: relative;
  22. height: 328rpx;
  23. .left-col-card-1,
  24. .right-col-card-1,
  25. .right-col-card-2,
  26. .left-col-card-2,
  27. .left-col-card-3,
  28. .right-col-card-3,
  29. .right-col-card-4 {
  30. position: absolute;
  31. color: white;
  32. .card-bg {
  33. position: absolute;
  34. border-radius: 22rpx;
  35. color: white;
  36. }
  37. }
  38. .left-col-card-1 {
  39. height: 328rpx;
  40. width: 274rpx;
  41. top: 0;
  42. left: 0;
  43. .card-bg {
  44. height: 100%;
  45. width: 236rpx;
  46. top: 0;
  47. left: 36rpx;
  48. color: white;
  49. background-image: linear-gradient(to right, #fb7e90, #faa478);
  50. transform-origin: 172rpx 400rpx;
  51. animation-duration: 1s;
  52. animation-iteration-count: 1;
  53. animation-fill-mode: backwards;
  54. .icon {
  55. position: relative;
  56. top: 36rpx;
  57. color: white;
  58. font-size: 128rpx;
  59. text-align: center;
  60. text {
  61. opacity: .6;
  62. }
  63. }
  64. }
  65. .text-box {
  66. position: absolute;
  67. bottom: 36rpx;
  68. left: 62rpx;
  69. font-size: 36rpx;
  70. font-weight: bold;
  71. opacity: 1;
  72. animation-duration: 1s;
  73. animation-iteration-count: 1;
  74. animation-fill-mode: backwards;
  75. }
  76. &.is-animation {
  77. .card-bg {
  78. animation-name: leftColCard;
  79. }
  80. .text-box {
  81. animation-name: opacityText;
  82. }
  83. }
  84. }
  85. .right-col-card-1 {
  86. height: 100rpx;
  87. width: 452rpx;
  88. top: 0;
  89. right: 0;
  90. .card-bg {
  91. top: 0;
  92. height: 100%;
  93. width: 414rpx;
  94. right: 36rpx;
  95. color: white;
  96. background-image: linear-gradient(to right, #fbccba, #f9b8b4);
  97. transform-origin: 500rpx 310rpx;
  98. animation-duration: 1s;
  99. animation-iteration-count: 1;
  100. animation-fill-mode: backwards;
  101. .text {
  102. position: relative;
  103. top: 28rpx;
  104. left: 36rpx;
  105. font-size: 30rpx;
  106. font-weight: bold;
  107. }
  108. }
  109. .icon {
  110. position: absolute;
  111. top: 15rpx;
  112. right: 62rpx;
  113. color: white;
  114. font-size: 60rpx;
  115. opacity: 1;
  116. animation-duration: 2s;
  117. animation-iteration-count: 1;
  118. animation-fill-mode: backwards;
  119. text {
  120. opacity: .6;
  121. }
  122. }
  123. &.is-animation {
  124. .card-bg {
  125. animation-name: rightColCard;
  126. }
  127. .icon {
  128. animation-name: opacityText;
  129. }
  130. }
  131. }
  132. .right-col-card-2 {
  133. height: 204rpx;
  134. width: 452rpx;
  135. top: 124rpx;
  136. right: 0;
  137. overflow: hidden;
  138. .card-bg {
  139. top: 0;
  140. height: 100%;
  141. width: 414rpx;
  142. right: 36rpx;
  143. color: white;
  144. background-image: linear-gradient(#ffcb0a, #ffde02);
  145. transform-origin: 500rpx 200rpx;
  146. animation-duration: 1s;
  147. animation-iteration-count: 1;
  148. animation-fill-mode: backwards;
  149. .text {
  150. position: relative;
  151. top: 28rpx;
  152. left: 36rpx;
  153. font-size: 30rpx;
  154. font-weight: bold;
  155. }
  156. }
  157. .icon {
  158. position: absolute;
  159. bottom: -40rpx;
  160. right: 40rpx;
  161. color: white;
  162. font-size: 164rpx;
  163. opacity: 1;
  164. animation-duration: 2s;
  165. animation-iteration-count: 1;
  166. animation-fill-mode: backwards;
  167. text {
  168. opacity: .6;
  169. }
  170. }
  171. &.is-animation {
  172. .card-bg {
  173. animation-name: rightColCard;
  174. }
  175. .icon {
  176. animation-name: opacityText;
  177. }
  178. }
  179. }
  180. &.__150 {
  181. height: 272rpx;
  182. }
  183. .left-col-card-2 {
  184. height: 272rpx;
  185. width: 100%;
  186. top: 0;
  187. left: 0;
  188. .card-bg {
  189. height: 100%;
  190. top: 0;
  191. left: 36rpx;
  192. right: 36rpx;
  193. color: white;
  194. overflow: hidden;
  195. background-image: linear-gradient(to right, #55cbf2, #2f81ed);
  196. transform-origin: 350rpx 800rpx;
  197. animation-delay: 0.05s;
  198. animation-duration: 1s;
  199. animation-iteration-count: 1;
  200. animation-fill-mode: backwards;
  201. .icon {
  202. position: absolute;
  203. top: 0;
  204. color: white;
  205. font-size: 236rpx;
  206. text-align: center;
  207. text {
  208. opacity: .6;
  209. }
  210. }
  211. .text-box {
  212. position: absolute;
  213. top: 50rpx;
  214. right: 50rpx;
  215. font-size: 55rpx;
  216. font-weight: bold;
  217. }
  218. }
  219. &.is-animation {
  220. .card-bg {
  221. animation-name: leftColCard;
  222. }
  223. }
  224. }
  225. &.__180 {
  226. height: 327rpx;
  227. }
  228. .left-col-card-3 {
  229. height: 327rpx;
  230. width: 364rpx;
  231. top: 0;
  232. left: 0;
  233. .card-bg {
  234. height: 100%;
  235. width: 328rpx;
  236. top: 0;
  237. left: 36rpx;
  238. color: white;
  239. background-image: linear-gradient(to left top, #8edde1, #88eec9);
  240. transform-origin: 220rpx 1000rpx;
  241. animation-duration: 1s;
  242. animation-iteration-count: 1;
  243. animation-fill-mode: backwards;
  244. .icon {
  245. position: relative;
  246. top: 20rpx;
  247. color: white;
  248. font-size: 170rpx;
  249. text-align: right;
  250. right: 20rpx;
  251. text {
  252. opacity: .6;
  253. }
  254. }
  255. }
  256. .text-box {
  257. position: absolute;
  258. bottom: 36rpx;
  259. left: 70rpx;
  260. color: white;
  261. font-size: 44rpx;
  262. font-weight: bold;
  263. opacity: 1;
  264. animation-duration: 1s;
  265. animation-iteration-count: 1;
  266. animation-fill-mode: backwards;
  267. }
  268. &.is-animation {
  269. .card-bg {
  270. animation-name: leftColCard;
  271. }
  272. .text-box {
  273. animation-name: opacityText;
  274. }
  275. }
  276. }
  277. .right-col-card-3 {
  278. height: 224rpx;
  279. width: 360rpx;
  280. top: 0;
  281. right: 0;
  282. overflow: hidden;
  283. .card-bg {
  284. top: 0;
  285. height: 100%;
  286. width: 322rpx;
  287. right: 36rpx;
  288. color: white;
  289. background-image: linear-gradient(to left top, #abc1fa, #d7bff9);
  290. transform-origin: 500rpx 200rpx;
  291. animation-duration: 1s;
  292. animation-iteration-count: 1;
  293. animation-fill-mode: backwards;
  294. .icon {
  295. position: absolute;
  296. top: 14rpx;
  297. right: 60rpx;
  298. color: white;
  299. font-size: 122rpx;
  300. opacity: 1;
  301. animation-duration: 2s;
  302. animation-iteration-count: 1;
  303. animation-fill-mode: backwards;
  304. text {
  305. opacity: .6;
  306. }
  307. }
  308. .text {
  309. position: absolute;
  310. bottom: 24rpx;
  311. left: 30rpx;
  312. font-size: 33rpx;
  313. font-weight: bold;
  314. }
  315. }
  316. &.is-animation {
  317. .card-bg {
  318. animation-name: rightColCard;
  319. }
  320. .icon {
  321. animation-name: opacityText;
  322. }
  323. }
  324. }
  325. .right-col-card-4 {
  326. height: 80rpx;
  327. width: 360rpx;
  328. top: 246rpx;
  329. right: 0;
  330. .card-bg {
  331. top: 0;
  332. height: 100%;
  333. width: 322rpx;
  334. right: 36rpx;
  335. color: white;
  336. background-image: linear-gradient(to right, #c59dd9, #efb7e6);
  337. transform-origin: 500rpx 310rpx;
  338. animation-duration: 1s;
  339. animation-iteration-count: 1;
  340. animation-fill-mode: backwards;
  341. .text {
  342. position: relative;
  343. top: 22rpx;
  344. left: 36rpx;
  345. font-size: 28rpx;
  346. font-weight: bold;
  347. }
  348. }
  349. .icon {
  350. position: absolute;
  351. top: 15rpx;
  352. right: 62rpx;
  353. color: white;
  354. font-size: 44rpx;
  355. opacity: 1;
  356. animation-duration: 2s;
  357. animation-iteration-count: 1;
  358. animation-fill-mode: backwards;
  359. text {
  360. opacity: .7;
  361. }
  362. }
  363. &.is-animation {
  364. .card-bg {
  365. animation-name: rightColCard;
  366. }
  367. .icon {
  368. animation-name: opacityText;
  369. }
  370. }
  371. }
  372. }
  373. .hc-list-container {
  374. position: relative;
  375. padding: 0 40rpx;
  376. .hc-list-item {
  377. position: relative;
  378. background: white;
  379. border-radius: 16rpx;
  380. padding: 30rpx 32rpx;
  381. border: 1rpx solid #eef2fd;
  382. transform-origin: 350rpx 340rpx;
  383. animation-duration: 1s;
  384. animation-iteration-count: 1;
  385. animation-fill-mode: backwards;
  386. .icon {
  387. position: absolute;
  388. width: 91rpx;
  389. height: 91rpx;
  390. color: white;
  391. border-radius: 10rpx;
  392. font-size: 50rpx;
  393. display: flex;
  394. justify-content: center;
  395. align-items: center;
  396. text {
  397. opacity: 1;
  398. animation-duration: 2s;
  399. animation-iteration-count: 1;
  400. animation-fill-mode: backwards;
  401. animation-name: opacityText;
  402. }
  403. &.bg-1 {
  404. background: #FF5F40;
  405. }
  406. &.bg-2 {
  407. background: #FF9502;
  408. }
  409. &.bg-3 {
  410. background: #FFCB01;
  411. }
  412. &.bg-4 {
  413. background: #2979FF;
  414. }
  415. &.bg-5 {
  416. background: #00E676;
  417. }
  418. &.bg-6 {
  419. background: #9254DE;
  420. }
  421. &.bg-7 {
  422. background: #5756D7;
  423. }
  424. }
  425. .container {
  426. position: relative;
  427. padding-left: 120rpx;
  428. .title {
  429. color: #101010;
  430. font-size: 32rpx;
  431. font-weight: bold;
  432. }
  433. .text {
  434. color: #8E8E93;
  435. font-size: 26rpx;
  436. margin-top: 10rpx;
  437. }
  438. }
  439. &.a-l {
  440. animation-name: leftColCard;
  441. }
  442. &.a-r {
  443. animation-name: rightColCard;
  444. }
  445. }
  446. .hc-list-item + .hc-list-item {
  447. margin-top: 30rpx;
  448. }
  449. }
  450. @keyframes leftColCard {
  451. 0% {
  452. transform: translate3d(-100%, 0, 0);
  453. visibility: visible;
  454. }
  455. 100% {
  456. transform: translate3d(0, 0, 0);
  457. }
  458. }
  459. @keyframes rightColCard {
  460. 0% {
  461. transform: translate3d(100%, 0, 0);
  462. visibility: visible;
  463. }
  464. 100% {
  465. transform: translate3d(0, 0, 0);
  466. }
  467. }
  468. @keyframes opacityText {
  469. 0% {
  470. opacity: 0;
  471. }
  472. 100% {
  473. opacity: 1;
  474. }
  475. }
  476. .hc-popover-box {
  477. position: fixed;
  478. top: 0;
  479. bottom: 0;
  480. left: 0;
  481. right: 0;
  482. display: none;
  483. z-index: 999999;
  484. background: #E8E8E8;
  485. .img-box {
  486. position: relative;
  487. opacity: 1;
  488. transform-origin: 350rpx 220rpx;
  489. animation-duration: 1s;
  490. animation-iteration-count: 1;
  491. animation-fill-mode: backwards;
  492. .img-bg {
  493. width: 100%;
  494. background-image: url(/static/image/bg-1.jpg);
  495. background-position: center;
  496. background-size: 100% 100%;
  497. aspect-ratio: auto 1125 / 1048;
  498. }
  499. }
  500. .close-icon {
  501. position: absolute;
  502. top: calc(var(--status-bar-height) + 40rpx);
  503. right: 40rpx;
  504. font-size: 50rpx;
  505. color: #CACACA;
  506. }
  507. .hc-popover-container {
  508. position: absolute;
  509. left: 0;
  510. right: 0;
  511. bottom: 0;
  512. background: white;
  513. max-height: 90%;
  514. z-index: 1;
  515. padding: 42rpx;
  516. border-radius: 50rpx 50rpx 0 0;
  517. box-shadow: 0 -14rpx 12rpx -14rpx rgba(0, 0, 0, 0.2);
  518. padding-bottom: calc(var(--window-bottom) + 30rpx);
  519. opacity: 1;
  520. transform-origin: 350rpx 960rpx;
  521. animation-duration: 1s;
  522. animation-iteration-count: 1;
  523. animation-fill-mode: backwards;
  524. &::before {
  525. display: block;
  526. position: relative;
  527. content: "";
  528. background: #CACACA;
  529. border-radius: 8rpx;
  530. height: 7rpx;
  531. width: 140rpx;
  532. top: -22rpx;
  533. left: calc(50% - (140rpx / 2));
  534. }
  535. .project-name {
  536. font-size: 36rpx;
  537. color: #554D84;
  538. font-weight: bold;
  539. }
  540. .contrac-name {
  541. color: #8E8E93;
  542. margin-top: 20rpx;
  543. }
  544. .tip-title {
  545. margin-top: 42rpx;
  546. color: #464646;
  547. font-weight: bold;
  548. }
  549. .tip-content-box {
  550. position: relative;
  551. margin-top: 30rpx;
  552. .tip-item {
  553. position: relative;
  554. display: flex;
  555. align-items: center;
  556. .icon {
  557. font-size: 32rpx;
  558. color: #EE5B20;
  559. text {
  560. position: relative;
  561. top: 4rpx;
  562. }
  563. }
  564. .text {
  565. margin-left: 20rpx;
  566. font-size: 28rpx;
  567. color: #8E8E93;
  568. }
  569. }
  570. .tip-item + .tip-item {
  571. margin-top: 25rpx;
  572. }
  573. }
  574. }
  575. &.show {
  576. display: block;
  577. .img-box {
  578. animation-name: bounceInDown;
  579. }
  580. .hc-popover-container {
  581. animation-name: bounceInUp;
  582. }
  583. }
  584. }
  585. @keyframes bounceInDown {
  586. 0%, 60%, 75%, 90%, 100% {
  587. animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  588. }
  589. 0% {
  590. opacity: 0;
  591. transform: translate3d(0, -3000rpx, 0);
  592. }
  593. 60% {
  594. opacity: 1;
  595. transform: translate3d(0, 50rpx, 0);
  596. }
  597. 75% {
  598. transform: translate3d(0, -20rpx, 0);
  599. }
  600. 90% {
  601. transform: translate3d(0, 10rpx, 0);
  602. }
  603. 100% {
  604. transform: none;
  605. }
  606. }
  607. @keyframes bounceInUp {
  608. 0%, 60%, 75%, 90%, 100% {
  609. animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  610. }
  611. 0% {
  612. opacity: 0;
  613. transform: translate3d(0, 3000rpx, 0);
  614. }
  615. 60% {
  616. opacity: 1;
  617. transform: translate3d(0, -40rpx, 0);
  618. }
  619. 75% {
  620. transform: translate3d(0, 20rpx, 0);
  621. }
  622. 90% {
  623. transform: translate3d(0, -10rpx, 0);
  624. }
  625. 100% {
  626. transform: translate3d(0, 0, 0);
  627. }
  628. }