coupon-buy.css 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497
  1. @font-face {
  2. font-family: "ysbth";
  3. src: url("ysbth.ttf") format("truetype");
  4. }
  5. ax-body {
  6. display: block;
  7. height: 100%;
  8. background: #f6faff;
  9. }
  10. .body {
  11. position: relative;
  12. z-index: 1;
  13. background: linear-gradient(
  14. 180deg,
  15. #6deeed 0%,
  16. #c4ffff 8%,
  17. #ffffff 37%,
  18. #f5f7fb 100%
  19. );
  20. padding: 0 20rpx 0 20rpx;
  21. }
  22. /* 页面背景 */
  23. .page-background {
  24. position: fixed;
  25. top: 0;
  26. left: 0;
  27. right: 0;
  28. z-index: 0;
  29. }
  30. .page-background image {
  31. display: block;
  32. width: 100%;
  33. /* transform: scaleY(-100%); */
  34. }
  35. /* 统计卡 */
  36. .sta-card {
  37. flex: 1;
  38. display: flex;
  39. align-items: center;
  40. justify-content: center;
  41. flex-direction: column;
  42. height: 78px;
  43. border-radius: 8px;
  44. background: #ffffff;
  45. position: relative;
  46. overflow: hidden;
  47. }
  48. .sta-card::before {
  49. content: "";
  50. display: block;
  51. position: absolute;
  52. top: 0;
  53. left: 0;
  54. right: 0;
  55. bottom: 0;
  56. box-shadow: 0 8px 8px #fff inset;
  57. background-color: transparent !important;
  58. }
  59. .sta-card + .sta-card {
  60. margin-left: 10px;
  61. }
  62. .sta-card .value {
  63. font-size: 24px;
  64. font-weight: bold;
  65. position: relative;
  66. z-index: 3;
  67. }
  68. .sta-card .name {
  69. font-size: 12px;
  70. color: #aaa;
  71. position: relative;
  72. z-index: 3;
  73. }
  74. .sta-card .bg {
  75. position: absolute;
  76. top: 0;
  77. right: 0;
  78. height: 100%;
  79. z-index: 2;
  80. }
  81. .overflow-payment {
  82. position: absolute;
  83. width: 176rpx;
  84. height: 40rpx;
  85. background: #ff4d3a;
  86. border-radius: 8rpx;
  87. font-size: 24rpx;
  88. color: #ffffff;
  89. text-align: center;
  90. top: 0;
  91. right: 0;
  92. z-index: 9999;
  93. }
  94. /* 卡片 */
  95. .card {
  96. border-radius: 16px;
  97. padding: 15px 0;
  98. margin-top: 10px;
  99. }
  100. .card .title {
  101. /* display: flex;
  102. align-items: flex-end;
  103. justify-content: space-between; */
  104. margin-bottom: 20px;
  105. font-weight: bold;
  106. }
  107. .title-text {
  108. font-weight: normal;
  109. font-size: 26rpx;
  110. color: #666;
  111. }
  112. .card .title .more {
  113. display: flex;
  114. align-items: center;
  115. justify-content: center;
  116. font-weight: normal;
  117. font-size: 14px;
  118. color: #aaa;
  119. }
  120. .card .title .more .icon {
  121. margin-left: 5px;
  122. }
  123. /* 温馨提示 */
  124. .tips .li {
  125. font-size: 14px;
  126. color: #666;
  127. }
  128. .tips .li + .li {
  129. margin-top: 7px;
  130. }
  131. /* 优惠券 */
  132. .coupons {
  133. display: grid;
  134. grid-template-columns: 1fr 1fr 1fr;
  135. gap: 10px;
  136. }
  137. .coupons .item {
  138. --item-bg: #3eb6f8;
  139. --item-bg-active: #0093e4;
  140. --coupon-bg: #fff;
  141. --coupon-bg-active: #3ab8ff;
  142. --font-color: #3eb6f8;
  143. --font-color-active: #fff;
  144. padding: 5px;
  145. height: 150px;
  146. border-radius: 10px;
  147. background-color: var(--item-bg);
  148. color: var(--font-color);
  149. }
  150. .coupons .item .coupon {
  151. display: flex;
  152. flex-direction: column;
  153. width: 100%;
  154. height: 100%;
  155. overflow: hidden;
  156. border-radius: 10px;
  157. filter: drop-shadow(0 1px 6px rgba(102, 102, 102, 0.3));
  158. }
  159. .coupons .item .coupon .top {
  160. flex: 1;
  161. display: flex;
  162. align-items: center;
  163. justify-content: center;
  164. flex-direction: column;
  165. background-color: var(--coupon-bg);
  166. }
  167. .coupons .item .coupon .top .value {
  168. font-size: 36px;
  169. font-weight: bold;
  170. }
  171. .coupons .item .coupon .top .unit {
  172. font-size: 14px;
  173. }
  174. .coupons .item .coupon .bottom {
  175. text-align: center;
  176. font-size: 14px;
  177. background-color: var(--coupon-bg);
  178. padding: 10px;
  179. }
  180. .coupons .item .coupon .middle {
  181. display: flex;
  182. align-items: center;
  183. justify-content: space-between;
  184. height: 10px;
  185. position: relative;
  186. overflow: hidden;
  187. }
  188. .coupons .item .coupon .middle::before {
  189. content: "";
  190. display: block;
  191. width: 50%;
  192. height: 10px;
  193. background: radial-gradient(
  194. circle 10px at left,
  195. transparent 5px,
  196. var(--coupon-bg) 50%
  197. );
  198. }
  199. .coupons .item .coupon .middle::after {
  200. content: "";
  201. display: block;
  202. width: 50%;
  203. height: 10px;
  204. background: radial-gradient(
  205. circle 10px at right,
  206. transparent 5px,
  207. var(--coupon-bg) 50%
  208. );
  209. }
  210. .coupons .item .coupon .middle .line {
  211. position: absolute;
  212. top: 50%;
  213. left: 10px;
  214. right: 10px;
  215. border-top: 1px dashed var(--font-color);
  216. }
  217. .coupons .item.active {
  218. background-color: var(--item-bg-active);
  219. color: var(--font-color-active);
  220. }
  221. .coupons .item.active .coupon .middle .line {
  222. border-color: var(--font-color-active);
  223. }
  224. .coupons .item.active .coupon .top,
  225. .coupons .item.active .coupon .bottom {
  226. background-color: var(--coupon-bg-active);
  227. }
  228. .coupons .item.active .coupon .middle::before {
  229. background: radial-gradient(
  230. circle 10px at left,
  231. transparent 5px,
  232. var(--coupon-bg-active) 50%
  233. );
  234. }
  235. .coupons .item.active .coupon .middle::after {
  236. background: radial-gradient(
  237. circle 10px at right,
  238. transparent 5px,
  239. var(--coupon-bg-active) 50%
  240. );
  241. }
  242. .new-coupons-box {
  243. display: grid;
  244. grid-template-columns: 1fr 1fr 1fr;
  245. gap: 10px;
  246. }
  247. .new-coupons {
  248. background: url("https://national-motion.oss-cn-beijing.aliyuncs.com/20251230/476414ae25134fb28e8d65038f107ab5.png");
  249. width: 220rpx;
  250. height: 136rpx;
  251. background-size: cover; /* 确保图片覆盖整个元素 */
  252. background-position: center;
  253. text-align: center;
  254. }
  255. .newCouponsActive {
  256. background: url("https://national-motion.oss-cn-beijing.aliyuncs.com/20251230/720bda57444b4f8281f1ceb93e3e5efb.png");
  257. width: 220rpx;
  258. height: 136rpx;
  259. background-size: cover; /* 确保图片覆盖整个元素 */
  260. background-position: center;
  261. text-align: center;
  262. }
  263. .new-coupons-price {
  264. font-weight: bold;
  265. font-size: 24rpx;
  266. color: #2b303a;
  267. height: 74rpx;
  268. line-height: 74rpx;
  269. }
  270. .new-coupons-unit {
  271. font-size: 22rpx;
  272. font-weight: normal;
  273. }
  274. .new-coupons-text {
  275. font-weight: 400;
  276. font-size: 28rpx;
  277. color: #2b303a;
  278. font-family: "ysbth";
  279. height: 56rpx;
  280. line-height: 56rpx;
  281. }
  282. .pay-type {
  283. display: flex;
  284. align-items: center;
  285. justify-content: space-between;
  286. }
  287. .pay-type .icon {
  288. display: flex;
  289. align-items: center;
  290. justify-content: center;
  291. width: 20px;
  292. height: 20px;
  293. font-size: 14px;
  294. margin-right: 5px;
  295. border-radius: 100pc;
  296. background-color: #04be02;
  297. color: #fff;
  298. }
  299. .footer {
  300. position: fixed;
  301. left: 10px;
  302. right: 10px;
  303. bottom: 0;
  304. }
  305. .pay {
  306. display: flex;
  307. align-items: center;
  308. justify-content: center;
  309. height: 50px;
  310. font-size: 14px;
  311. margin-top: 20px;
  312. border-radius: 8px;
  313. color: #2b303a;
  314. background: linear-gradient(to right, #8ff8fb, #47aeff);
  315. }
  316. .pay::after {
  317. content: unset;
  318. display: none;
  319. }
  320. .pay[disabled] {
  321. text-shadow: unset;
  322. background: #ddd;
  323. }
  324. .coupon-item {
  325. --item-color: #d6f3ff;
  326. font-family: "ysbth";
  327. color: #2b303a;
  328. background-color: var(--item-color);
  329. border-radius: 8px;
  330. text-align: center;
  331. padding: 0 8px;
  332. position: relative;
  333. margin-bottom: 10px;
  334. }
  335. .coupon-item .ticket {
  336. background-color: #f2f8ff;
  337. border-radius: 8px;
  338. margin-top: -10px;
  339. box-shadow: 0 -1px 6px rgba(122, 168, 222, 0.1);
  340. }
  341. .coupon-item .ticket .value {
  342. display: flex;
  343. align-items: flex-end;
  344. justify-content: center;
  345. padding-top: 10px;
  346. color: #2b303a;
  347. }
  348. .coupon-item .ticket .value .val {
  349. display: inline-block;
  350. font-size: 18px;
  351. font-weight: bold;
  352. transform: translateY(2px);
  353. margin-right: 2px;
  354. }
  355. .coupon-item .ticket .value .unit {
  356. font-size: 12px;
  357. }
  358. .coupon-item .ticket .line-wrap {
  359. display: flex;
  360. align-items: center;
  361. position: relative;
  362. height: 16px;
  363. }
  364. .coupon-item .ticket .line-wrap .line {
  365. flex: 1;
  366. height: 1px;
  367. border-top: 1px dashed #aaa;
  368. }
  369. .coupon-item .ticket .line-wrap .circle {
  370. width: 16px;
  371. height: 16px;
  372. border-radius: 100%;
  373. background-color: var(--item-color);
  374. }
  375. .coupon-item .ticket .line-wrap view:first-child {
  376. transform: translateX(-50%);
  377. }
  378. .coupon-item .ticket .line-wrap view:last-child {
  379. transform: translateX(50%);
  380. }
  381. .coupon-item .ticket .margin {
  382. height: 15px;
  383. }
  384. .coupon-item .trapezium {
  385. width: 100%;
  386. height: 10px;
  387. position: relative;
  388. overflow: hidden;
  389. margin-top: -10px;
  390. }
  391. .coupon-item .trapezium::after {
  392. content: "";
  393. display: block;
  394. width: 50%;
  395. height: 10px;
  396. position: absolute;
  397. left: 0;
  398. bottom: 0;
  399. transform: skewX(-15deg) translateX(0.3em);
  400. border-radius: 10px 0 0 0;
  401. background-color: var(--item-color);
  402. }
  403. .coupon-item .trapezium::before {
  404. content: "";
  405. display: block;
  406. width: 50%;
  407. height: 10px;
  408. position: absolute;
  409. right: 0;
  410. bottom: 0;
  411. transform: skewX(15deg) translateX(-0.3em);
  412. border-radius: 0 10px 0 0;
  413. background-color: var(--item-color);
  414. }
  415. .coupon-item .text {
  416. margin-top: -8px;
  417. position: relative;
  418. z-index: 3;
  419. }
  420. .coupon-item.active {
  421. --item-color: #47aeff !important;
  422. }
  423. .coupon-item.active .ticket .value {
  424. color: #47aeff;
  425. }
  426. .coupon-item.active .text {
  427. color: #fff;
  428. }
  429. .payment-tips {
  430. width: 702rpx;
  431. height: 72rpx;
  432. background: #fff6e8;
  433. border-radius: 16rpx;
  434. font-size: 24rpx;
  435. color: #fab04d;
  436. line-height: 72rpx;
  437. text-align: center;
  438. }