微信小店联盟带货小程序

poster.wxss 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. /* pages/promotion/poster.wxss */
  2. .container {
  3. min-height: 100vh;
  4. background: #f5f5f5;
  5. padding-bottom: 180rpx;
  6. }
  7. /* 海报预览 */
  8. .poster-preview {
  9. background: #fff;
  10. padding: 30rpx;
  11. margin-bottom: 20rpx;
  12. }
  13. .preview-title {
  14. font-size: 32rpx;
  15. color: #333;
  16. font-weight: bold;
  17. margin-bottom: 20rpx;
  18. }
  19. .preview-area {
  20. width: 100%;
  21. min-height: 400rpx;
  22. background: #f8f8f8;
  23. border-radius: 12rpx;
  24. display: flex;
  25. align-items: center;
  26. justify-content: center;
  27. overflow: hidden;
  28. }
  29. .poster-image {
  30. width: 100%;
  31. height: auto;
  32. }
  33. /* 模板选择 */
  34. .template-select {
  35. background: #fff;
  36. padding: 30rpx;
  37. margin-bottom: 20rpx;
  38. }
  39. .section-title {
  40. font-size: 32rpx;
  41. color: #333;
  42. font-weight: bold;
  43. margin-bottom: 20rpx;
  44. }
  45. .template-list {
  46. white-space: nowrap;
  47. padding-bottom: 10rpx;
  48. }
  49. .template-item {
  50. display: inline-block;
  51. width: 200rpx;
  52. height: 300rpx;
  53. margin-right: 20rpx;
  54. border-radius: 8rpx;
  55. overflow: hidden;
  56. position: relative;
  57. }
  58. .template-item.active {
  59. border: 4rpx solid #ff4d4f;
  60. }
  61. .template-image {
  62. width: 100%;
  63. height: 100%;
  64. }
  65. /* 商品选择 */
  66. .goods-select {
  67. background: #fff;
  68. padding: 30rpx;
  69. margin-bottom: 20rpx;
  70. }
  71. .goods-list {
  72. white-space: nowrap;
  73. padding-bottom: 10rpx;
  74. }
  75. .goods-item {
  76. display: inline-block;
  77. width: 300rpx;
  78. margin-right: 20rpx;
  79. border-radius: 8rpx;
  80. background: #fff;
  81. box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06);
  82. overflow: hidden;
  83. }
  84. .goods-item.active {
  85. border: 2rpx solid #ff4d4f;
  86. }
  87. .goods-image {
  88. width: 100%;
  89. height: 300rpx;
  90. }
  91. .goods-info {
  92. padding: 16rpx;
  93. }
  94. .goods-name {
  95. font-size: 26rpx;
  96. color: #333;
  97. margin-bottom: 8rpx;
  98. white-space: normal;
  99. overflow: hidden;
  100. text-overflow: ellipsis;
  101. display: -webkit-box;
  102. -webkit-line-clamp: 2;
  103. -webkit-box-orient: vertical;
  104. }
  105. .goods-price {
  106. font-size: 28rpx;
  107. color: #ff4d4f;
  108. font-weight: bold;
  109. }
  110. /* 自定义文案 */
  111. .custom-text {
  112. background: #fff;
  113. padding: 30rpx;
  114. margin-bottom: 20rpx;
  115. }
  116. .text-input {
  117. position: relative;
  118. margin-bottom: 20rpx;
  119. }
  120. .text-input textarea {
  121. width: 100%;
  122. height: 160rpx;
  123. padding: 20rpx;
  124. box-sizing: border-box;
  125. border: 1rpx solid #eee;
  126. border-radius: 8rpx;
  127. font-size: 28rpx;
  128. line-height: 1.5;
  129. }
  130. .text-counter {
  131. position: absolute;
  132. right: 20rpx;
  133. bottom: 20rpx;
  134. font-size: 24rpx;
  135. color: #999;
  136. }
  137. /* 操作按钮 */
  138. .action-buttons {
  139. position: fixed;
  140. left: 0;
  141. right: 0;
  142. bottom: 0;
  143. display: flex;
  144. padding: 20rpx;
  145. background: #fff;
  146. box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05);
  147. }
  148. .btn {
  149. flex: 1;
  150. height: 80rpx;
  151. margin: 0 10rpx;
  152. border-radius: 40rpx;
  153. display: flex;
  154. align-items: center;
  155. justify-content: center;
  156. font-size: 28rpx;
  157. }
  158. .btn .iconfont {
  159. font-size: 32rpx;
  160. margin-right: 8rpx;
  161. }
  162. .btn-preview {
  163. background: #fff;
  164. color: #666;
  165. border: 1rpx solid #ddd;
  166. }
  167. .btn-save {
  168. background: #ff4d4f;
  169. color: #fff;
  170. }
  171. .btn-share {
  172. background: #52c41a;
  173. color: #fff;
  174. }
  175. /* 生成中遮罩 */
  176. .generating-mask {
  177. position: fixed;
  178. top: 0;
  179. left: 0;
  180. right: 0;
  181. bottom: 0;
  182. background: rgba(0, 0, 0, 0.6);
  183. display: flex;
  184. align-items: center;
  185. justify-content: center;
  186. z-index: 1000;
  187. }
  188. .generating-content {
  189. background: #fff;
  190. border-radius: 12rpx;
  191. padding: 40rpx;
  192. display: flex;
  193. flex-direction: column;
  194. align-items: center;
  195. }
  196. .loading-icon {
  197. width: 80rpx;
  198. height: 80rpx;
  199. margin-bottom: 20rpx;
  200. border: 4rpx solid #f3f3f3;
  201. border-top: 4rpx solid #ff4d4f;
  202. border-radius: 50%;
  203. animation: spin 1s linear infinite;
  204. }
  205. @keyframes spin {
  206. 0% { transform: rotate(0deg); }
  207. 100% { transform: rotate(360deg); }
  208. }
  209. .generating-content text {
  210. font-size: 28rpx;
  211. color: #666;
  212. }