From ec8c559a1953b26a63e624ebc1d729de6a47735e Mon Sep 17 00:00:00 2001 From: chenhang Date: Mon, 22 Jun 2026 15:46:48 +0800 Subject: [PATCH] style(sidebar): refine membership cards --- public/images/{ => sidebar}/pic_bg_vip.png | Bin .../components/vip-benefits-card.module.css | 56 ++++++++++-------- .../components/voice-package-card.module.css | 24 ++++---- 3 files changed, 46 insertions(+), 34 deletions(-) rename public/images/{ => sidebar}/pic_bg_vip.png (100%) diff --git a/public/images/pic_bg_vip.png b/public/images/sidebar/pic_bg_vip.png similarity index 100% rename from public/images/pic_bg_vip.png rename to public/images/sidebar/pic_bg_vip.png diff --git a/src/app/sidebar/components/vip-benefits-card.module.css b/src/app/sidebar/components/vip-benefits-card.module.css index c20d446a..f96be910 100644 --- a/src/app/sidebar/components/vip-benefits-card.module.css +++ b/src/app/sidebar/components/vip-benefits-card.module.css @@ -1,19 +1,23 @@ -/* 双层 background 实现渐变描边: - * 内层白色填充到 padding-box, - * 外层粉色→品红渐变填充到 border-box。 */ .card { - background: - linear-gradient(#ffffff, #ffffff) padding-box, + background-image: + url("/images/sidebar/pic_bg_vip.png"), linear-gradient( - 135deg, - var(--color-auth-primary-gradient-start, #f96ade), - var(--color-auth-primary-gradient-end, #f657a0) - ) border-box; - border: var(--border-card, 1.5px) solid transparent; - border-radius: var(--radius-xl, 16px); - box-shadow: var(--shadow-card, 0 1px 3px rgba(0, 0, 0, 0.04)); + -60deg, + rgba(251, 106, 67, 0.47) 0%, + rgba(252, 125, 185, 0.47) 32%, + rgba(250, 167, 186, 0.47) 58%, + rgba(255, 255, 255, 0.47) 100% + ), + linear-gradient(#ffffff, #ffffff); + background-repeat: no-repeat, no-repeat, no-repeat; + background-position: right center, center, center; + background-size: 50% 100%, cover, cover; + background-blend-mode: normal, normal, normal; + border: solid 1px #fac4dc; + border-radius: 21px; width: 100%; box-sizing: border-box; + padding: 18px 0 18px 18px; overflow: hidden; } @@ -22,14 +26,14 @@ align-items: center; justify-content: space-between; gap: var(--spacing-md, 12px); - padding: var(--spacing-lg, 16px) var(--spacing-lg, 16px) var(--spacing-sm, 8px); + padding: 0; } .title { margin: 0; - font-size: var(--font-size-lg, 16px); + font-size: 18px; font-weight: 700; - color: var(--color-accent, #f84d96); + color: #f657a0; line-height: 1.3; } @@ -50,25 +54,29 @@ .list { list-style: none; - margin: 0; + margin: 18px 0; padding: 0; } .item { display: flex; align-items: flex-start; - gap: var(--spacing-sm, 8px); - padding: var(--spacing-sm, 8px) var(--spacing-lg, 16px); - font-size: var(--font-size-md, 14px); - color: var(--color-auth-text-primary, #333333); - line-height: 1.4; + gap: 0; + padding: 0; + font-size: 14px; + color: #1e1e1e; + line-height: normal; } .numeral { flex: 0 0 auto; font-weight: 500; - min-width: 20px; - color: var(--color-auth-text-primary, #333333); + color: #1e1e1e; +} + +.numeral::after { + content: " "; + white-space: pre; } .text { @@ -76,7 +84,7 @@ } .footer { - padding: var(--spacing-md, 12px) var(--spacing-lg, 16px) var(--spacing-lg, 16px); + padding: var(--spacing-md, 12px) 0 0; } .activateBtn { diff --git a/src/app/sidebar/components/voice-package-card.module.css b/src/app/sidebar/components/voice-package-card.module.css index 91335df9..51191482 100644 --- a/src/app/sidebar/components/voice-package-card.module.css +++ b/src/app/sidebar/components/voice-package-card.module.css @@ -1,15 +1,19 @@ -/* 双层 background 实现 pink → orange 渐变描边 */ .card { - background: - linear-gradient(#ffffff, #ffffff) padding-box, + background-image: linear-gradient( - 135deg, - var(--color-voice-gradient-start, #ff6fa3), - var(--color-voice-gradient-end, #ff9a5a) - ) border-box; - border: var(--border-card, 1.5px) solid transparent; - border-radius: var(--radius-xl, 16px); - box-shadow: var(--shadow-card, 0 1px 3px rgba(0, 0, 0, 0.04)); + 180deg, + rgba(250, 208, 198, 0.57) 0%, + rgba(250, 176, 165, 0.57) 0%, + rgba(250, 143, 132, 0.57) 0%, + rgba(251, 176, 156, 0.57) 8%, + rgba(251, 208, 180, 0.57) 16%, + rgba(255, 255, 255, 0.57) 38%, + rgba(255, 255, 255, 0.57) 100% + ), + linear-gradient(#ffffff, #ffffff); + background-blend-mode: normal, normal; + border: solid 1px #fbbcb6; + border-radius: 21px; width: 100%; box-sizing: border-box; overflow: hidden;