.coupon-card { position: relative; display: flex; width: 100%; height: 160px; border-radius: 16px; overflow: hidden; background: #fff; border: 2px solid #f0f0f0; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); // 更精美的阴影效果 //box-shadow: // 0 4px 20px rgba(0, 0, 0, 0.08), // 0 1px 3px rgba(0, 0, 0, 0.1); // 边框光晕效果 //&::before { // content: ''; // position: absolute; // top: 0; // left: 0; // right: 0; // bottom: 0; // border-radius: 16px; // padding: 1px; // background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1)); // mask-composite: exclude; // pointer-events: none; //} &:active { transform: scale(0.98) translateY(1px); box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.15); } &.disabled { opacity: 0.6; filter: grayscale(0.3); } .coupon-left { flex-shrink: 0; width: 140px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; position: relative; overflow: hidden; // 添加光泽效果 &::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%); transform: rotate(45deg); animation: shimmer 3s infinite; } &.theme-red { background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 50%, #e53e3e 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2); } &.theme-orange { background: linear-gradient(135deg, #ffa726 0%, #ff9800 50%, #f57c00 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2); } &.theme-blue { background: linear-gradient(135deg, #42a5f5 0%, #2196f3 50%, #1976d2 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2); } &.theme-purple { background: linear-gradient(135deg, #ab47bc 0%, #9c27b0 50%, #7b1fa2 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2); } &.theme-green { background: linear-gradient(135deg, #66bb6a 0%, #4caf50 50%, #388e3c 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2); } .amount-wrapper { display: flex; align-items: baseline; margin-bottom: 12px; position: relative; z-index: 2; .currency { font-size: 30px; font-weight: 700; margin-right: 3px; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .amount { font-size: 42px; font-weight: 800; line-height: 1; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); letter-spacing: -1px; } } .condition { font-size: 24px; opacity: 0.95; text-align: center; line-height: 1.2; font-weight: 500; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); position: relative; z-index: 2; } } .coupon-divider { flex-shrink: 0; width: 3px; position: relative; background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 50%, #f8fafc 100%); .divider-line { position: absolute; top: 24px; bottom: 24px; left: 50%; width: 1px; transform: translateX(-50%); background: repeating-linear-gradient( to bottom, #cbd5e1 0px, #cbd5e1 6px, transparent 6px, transparent 12px ); } .divider-circle-top { position: absolute; width: 20px; height: 20px; background: #f5f5f5; border-radius: 50%; top: -10px; left: -8.5px; border: 2px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.8); } .divider-circle-bottom { position: absolute; width: 20px; height: 20px; background: #f5f5f5; border-radius: 50%; bottom: -10px; left: -8.5px; border: 2px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.8); } } .coupon-right { flex: 1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: 20px 18px; background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%); .coupon-info { flex: 1; display: flex; flex-direction: column; justify-content: center; .coupon-title { font-size: 34px; font-weight: 700; color: #1a202c; margin-bottom: 12px; line-height: 1.3; letter-spacing: -0.5px; // 添加文字渐变效果 background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .coupon-validity { font-size: 26px; color: #718096; line-height: 1.2; font-weight: 500; // 添加图标前缀 &::before { content: '⏰'; margin-right: 6px; font-size: 24px; } } } .coupon-actions { display: flex; justify-content: flex-end; align-items: center; flex-shrink: 0; .coupon-btn { min-width: 140px; height: 72px; border-radius: 34px; font-size: 28px; border: none; color: #fff; font-weight: 700; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; // 添加按钮光泽效果 &::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: left 0.5s; } &:hover::before { left: 100%; } &:active { transform: scale(0.96) translateY(1px); } &.theme-red { background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 50%, #e53e3e 100%); box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3); } &.theme-orange { background: linear-gradient(135deg, #ffa726 0%, #ff9800 50%, #f57c00 100%); box-shadow: 0 4px 12px rgba(255, 167, 38, 0.3); } &.theme-blue { background: linear-gradient(135deg, #42a5f5 0%, #2196f3 50%, #1976d2 100%); box-shadow: 0 4px 12px rgba(66, 165, 245, 0.3); } &.theme-purple { background: linear-gradient(135deg, #ab47bc 0%, #9c27b0 50%, #7b1fa2 100%); box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3); } &.theme-green { background: linear-gradient(135deg, #66bb6a 0%, #4caf50 50%, #388e3c 100%); box-shadow: 0 4px 12px rgba(102, 187, 106, 0.3); } } .status-text { font-size: 28px; color: #a0aec0; padding: 12px 16px; font-weight: 600; background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%); border-radius: 20px; border: 1px solid #e2e8f0; } } } .status-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.15); border-radius: 16px; display: flex; align-items: center; justify-content: center; z-index: 10; backdrop-filter: blur(2px); .status-badge { background: rgba(0, 0, 0, 0.7); color: #fff; padding: 8px 16px; border-radius: 16px; font-size: 30px; font-weight: 700; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); } } } // 动画效果 @keyframes shimmer { 0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); } 100% { transform: translateX(100%) translateY(100%) rotate(45deg); } } // 响应式优化 @media (max-width: 768px) { .coupon-card { height: 150px; .coupon-left { width: 130px; .amount-wrapper { .currency { font-size: 26px; } .amount { font-size: 38px; } } .condition { font-size: 22px; } } .coupon-right { padding: 24px 20px; .coupon-info { .coupon-title { font-size: 30px; } .coupon-validity { font-size: 24px; } } .coupon-actions { .coupon-btn { min-width: 130px; height: 64px; font-size: 26px; } .status-text { font-size: 26px; } } } } }