/* pages/promotion/poster.wxss */ .container { min-height: 100vh; background: #f5f5f5; padding-bottom: 180rpx; } /* 海报预览 */ .poster-preview { background: #fff; padding: 30rpx; margin-bottom: 20rpx; } .preview-title { font-size: 32rpx; color: #333; font-weight: bold; margin-bottom: 20rpx; } .preview-area { width: 100%; min-height: 400rpx; background: #f8f8f8; border-radius: 12rpx; display: flex; align-items: center; justify-content: center; overflow: hidden; } .poster-image { width: 100%; height: auto; } /* 模板选择 */ .template-select { background: #fff; padding: 30rpx; margin-bottom: 20rpx; } .section-title { font-size: 32rpx; color: #333; font-weight: bold; margin-bottom: 20rpx; } .template-list { white-space: nowrap; padding-bottom: 10rpx; } .template-item { display: inline-block; width: 200rpx; height: 300rpx; margin-right: 20rpx; border-radius: 8rpx; overflow: hidden; position: relative; } .template-item.active { border: 4rpx solid #ff4d4f; } .template-image { width: 100%; height: 100%; } /* 商品选择 */ .goods-select { background: #fff; padding: 30rpx; margin-bottom: 20rpx; } .goods-list { white-space: nowrap; padding-bottom: 10rpx; } .goods-item { display: inline-block; width: 300rpx; margin-right: 20rpx; border-radius: 8rpx; background: #fff; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06); overflow: hidden; } .goods-item.active { border: 2rpx solid #ff4d4f; } .goods-image { width: 100%; height: 300rpx; } .goods-info { padding: 16rpx; } .goods-name { font-size: 26rpx; color: #333; margin-bottom: 8rpx; white-space: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .goods-price { font-size: 28rpx; color: #ff4d4f; font-weight: bold; } /* 自定义文案 */ .custom-text { background: #fff; padding: 30rpx; margin-bottom: 20rpx; } .text-input { position: relative; margin-bottom: 20rpx; } .text-input textarea { width: 100%; height: 160rpx; padding: 20rpx; box-sizing: border-box; border: 1rpx solid #eee; border-radius: 8rpx; font-size: 28rpx; line-height: 1.5; } .text-counter { position: absolute; right: 20rpx; bottom: 20rpx; font-size: 24rpx; color: #999; } /* 操作按钮 */ .action-buttons { position: fixed; left: 0; right: 0; bottom: 0; display: flex; padding: 20rpx; background: #fff; box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05); } .btn { flex: 1; height: 80rpx; margin: 0 10rpx; border-radius: 40rpx; display: flex; align-items: center; justify-content: center; font-size: 28rpx; } .btn .iconfont { font-size: 32rpx; margin-right: 8rpx; } .btn-preview { background: #fff; color: #666; border: 1rpx solid #ddd; } .btn-save { background: #ff4d4f; color: #fff; } .btn-share { background: #52c41a; color: #fff; } /* 生成中遮罩 */ .generating-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.6); display: flex; align-items: center; justify-content: center; z-index: 1000; } .generating-content { background: #fff; border-radius: 12rpx; padding: 40rpx; display: flex; flex-direction: column; align-items: center; } .loading-icon { width: 80rpx; height: 80rpx; margin-bottom: 20rpx; border: 4rpx solid #f3f3f3; border-top: 4rpx solid #ff4d4f; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .generating-content text { font-size: 28rpx; color: #666; }