gift-modal.component.scss 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. .vap-warp,#vap-warp{
  2. will-change: transform, opacity;
  3. backface-visibility: hidden;
  4. perspective: 1000px; /* 如果需要3D效果 */
  5. }
  6. .gift-modal {
  7. --height: 102.5641vw;
  8. }
  9. .gift-region {
  10. position: relative;
  11. .gift-tabs {
  12. display: flex;
  13. font-size: 3.5897vw;
  14. font-weight: bold;
  15. padding: 0 2.5641vw;
  16. .tab {
  17. margin-right: 2.5641vw;
  18. }
  19. }
  20. .gift-content {
  21. overflow-y: scroll;
  22. padding-bottom: 25.641vw;
  23. height: 91.2821vw;
  24. .gift-list {
  25. display: grid;
  26. grid-template-columns: repeat(4, 1fr);
  27. grid-gap: 2.5641vw;
  28. padding: 1.5385vw;
  29. .gift-item {
  30. display: flex;
  31. flex-direction: column;
  32. justify-content: center;
  33. align-items: center;
  34. border-radius: 2.5641vw;
  35. border: 0.2564vw solid #fff;
  36. font-size: 3.5897vw;
  37. .img {
  38. width: 10.2564vw;
  39. height: 10.2564vw;
  40. border-radius: 2.5641vw;
  41. }
  42. .info {
  43. text-align: center;
  44. .name {
  45. margin: 1.5385vw 0;
  46. }
  47. .price {
  48. display: flex;
  49. align-items: center;
  50. justify-content: center;
  51. color: #6b6b6b;
  52. font-family: PingFang SC;
  53. font-size: 3.0769vw;
  54. .credit {
  55. width: 2.5641vw;
  56. height: 2.5641vw;
  57. }
  58. }
  59. }
  60. }
  61. .gift-item-acitve {
  62. border: 0.2564vw solid #fc3651 !important;
  63. }
  64. }
  65. }
  66. .gift-footer {
  67. position: absolute;
  68. bottom: 0;
  69. width: 100%;
  70. display: flex;
  71. align-items: center;
  72. justify-content: space-between;
  73. height: 20.5128vw;
  74. padding: 5.1282vw;
  75. padding-bottom: 5.1282vw;
  76. background: linear-gradient(
  77. rgb(255 255 255 / 31%),
  78. rgb(255 255 255 / 86%),
  79. #ffffff,
  80. #fdfdfd
  81. );
  82. align-items: flex-end;
  83. .left {
  84. display: flex;
  85. align-items: center;
  86. font-size: 3.0769vw;
  87. .credit {
  88. width: 2.5641vw;
  89. height: 2.5641vw;
  90. margin-right: 1.5385vw;
  91. }
  92. .recharge{
  93. background: #0054e9;
  94. color: white;
  95. padding: 2px 4px;
  96. border-radius: 4px;
  97. margin-left: 4px;
  98. }
  99. }
  100. .btns {
  101. display: flex;
  102. align-items: flex-end;
  103. .chang-gift {
  104. font-size: 3.0769vw;
  105. }
  106. .input-num {
  107. width: 12.8205vw;
  108. height: 6.1538vw;
  109. margin-right: 2.5641vw;
  110. border-radius: 1.5385vw;
  111. border: 0.2564vw solid #dcdcdc;
  112. }
  113. .btn-item {
  114. background-color: #fc3651;
  115. color: white;
  116. padding: 1.0256vw 4.1026vw;
  117. border-radius: 4.1026vw;
  118. font-size: 3.5897vw;
  119. }
  120. .btn-disabled{
  121. background-color: #dcdcdc;
  122. }
  123. }
  124. }
  125. }
  126. .modal-gift-img {
  127. position: fixed;
  128. top: 0;
  129. width: 100%;
  130. height: 100%;
  131. display: flex;
  132. align-items: center;
  133. justify-content: center;
  134. background: #000000b0;
  135. z-index: 999;
  136. img{
  137. animation: scaleUp 5s ease-in-out forwards; /* 使用scaleUp动画,持续3秒 */
  138. position: absolute;
  139. bottom: 0;
  140. }
  141. }
  142. .recharge-modal{
  143. --height: 80%;
  144. }
  145. @keyframes scaleUp {
  146. 0% {
  147. transform: scale(0.1); /* 从0.1倍大小开始 */
  148. }
  149. 50%{
  150. transform: scale(0.1);
  151. bottom: 102.5641vw;
  152. }
  153. 60% {
  154. transform: scale(0.8);
  155. bottom: 102.5641vw;
  156. }
  157. 70% {
  158. transform: scale(0.2);
  159. bottom: 102.5641vw;
  160. }
  161. 90%{
  162. transform: scale(1.2); /* 放大到原始大小 */
  163. bottom: 102.5641vw;
  164. }
  165. 100% {
  166. transform: scale(1.2); /* 放大到原始大小 */
  167. bottom: 102.5641vw;
  168. }
  169. }
  170. .vap-warp{
  171. position: fixed;
  172. top: 0;
  173. z-index: 999;
  174. }