dapaijizhang3/styles/theme.wxss

391 lines
9.4 KiB
Plaintext
Raw Normal View History

2025-11-20 16:42:59 +08:00
/**
* 黑金主题配置 - 高端奢华风格
* 风格:奢华、高端、精致
*/
/* ==================== 颜色变量 ==================== */
:root {
/* 主品牌色 - 金色 */
--primary-gold: #D4AF37;
--primary-gold-light: #F4E6C3;
--primary-gold-dark: #B8941F;
--primary-gold-deep: #9A7B1A;
/* 辅助色 - 银色 */
--secondary-silver: #C0C0C0;
--secondary-silver-light: #E5E5E5;
--accent-platinum: #E5E4E2;
/* 背景色系 - 黑色系 */
--bg-black: #000000;
--bg-dark: #0A0A0A;
--bg-darker: #121212;
--bg-card: #1A1A1A;
--bg-card-hover: #222222;
--bg-secondary: #252525;
/* 文字色系 */
--text-primary: #FFFFFF;
--text-secondary: #E0E0E0;
--text-tertiary: #B0B0B0;
--text-disabled: #606060;
--text-gold: #D4AF37;
/* 状态色 */
--success: #50C878;
--warning: #FFD700;
--error: #DC143C;
--info: #4682B4;
/* 边框色 */
--border-dark: #2A2A2A;
--border-medium: #3A3A3A;
--border-light: #4A4A4A;
--border-gold: rgba(212, 175, 55, 0.3);
/* 阴影 */
--shadow-sm: 0 2rpx 8rpx rgba(0, 0, 0, 0.6);
--shadow-md: 0 4rpx 16rpx rgba(0, 0, 0, 0.7);
--shadow-lg: 0 8rpx 32rpx rgba(0, 0, 0, 0.8);
--shadow-gold: 0 4rpx 20rpx rgba(212, 175, 55, 0.4);
--shadow-gold-lg: 0 8rpx 32rpx rgba(212, 175, 55, 0.5);
/* 发光效果 */
--glow-gold: 0 0 20rpx rgba(212, 175, 55, 0.6),
0 0 40rpx rgba(212, 175, 55, 0.4),
0 0 60rpx rgba(212, 175, 55, 0.2);
/* 圆角 */
--radius-sm: 8rpx;
--radius-md: 12rpx;
--radius-lg: 16rpx;
--radius-xl: 20rpx;
--radius-full: 9999rpx;
/* 间距 */
--space-xs: 8rpx;
--space-sm: 12rpx;
--space-md: 16rpx;
--space-lg: 24rpx;
--space-xl: 32rpx;
}
/* ==================== 渐变定义 ==================== */
.gradient-gold {
background: linear-gradient(135deg, #D4AF37 0%, #F4E6C3 50%, #D4AF37 100%);
}
.gradient-gold-vertical {
background: linear-gradient(180deg, #D4AF37 0%, #B8941F 100%);
}
.gradient-dark {
background: linear-gradient(180deg, #000000 0%, #1A1A1A 100%);
}
.gradient-dark-card {
background: linear-gradient(135deg, #1A1A1A 0%, #252525 100%);
}
.gradient-silver {
background: linear-gradient(135deg, #C0C0C0 0%, #E5E5E5 100%);
}
/* 金属质感渐变 */
.gradient-metallic-gold {
background: linear-gradient(135deg,
#B8941F 0%,
#D4AF37 25%,
#F4E6C3 50%,
#D4AF37 75%,
#B8941F 100%
);
}
/* ==================== 文字颜色类 ==================== */
.text-primary { color: var(--text-primary); }
.text-secondary { color: var(--text-secondary); }
.text-tertiary { color: var(--text-tertiary); }
.text-disabled { color: var(--text-disabled); }
.text-gold { color: var(--primary-gold); }
/* 金色渐变文字 */
.text-gradient-gold {
background: linear-gradient(135deg, #D4AF37 0%, #F4E6C3 50%, #D4AF37 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.text-success { color: var(--success); }
.text-warning { color: var(--warning); }
.text-error { color: var(--error); }
/* ==================== 背景颜色类 ==================== */
.bg-black { background-color: var(--bg-black); }
.bg-dark { background-color: var(--bg-dark); }
.bg-darker { background-color: var(--bg-darker); }
.bg-card { background-color: var(--bg-card); }
.bg-secondary { background-color: var(--bg-secondary); }
/* ==================== 阴影类 ==================== */
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-gold { box-shadow: var(--shadow-gold); }
.shadow-gold-lg { box-shadow: var(--shadow-gold-lg); }
/* ==================== 边框类 ==================== */
.border-dark { border: 1rpx solid var(--border-dark); }
.border-medium { border: 1rpx solid var(--border-medium); }
.border-light { border: 1rpx solid var(--border-light); }
.border-gold { border: 1rpx solid var(--primary-gold); }
/* 金色渐变边框 */
.border-gradient-gold {
position: relative;
background: var(--bg-card);
border-radius: var(--radius-lg);
}
.border-gradient-gold::before {
content: '';
position: absolute;
inset: 0;
padding: 2rpx;
border-radius: var(--radius-lg);
background: linear-gradient(135deg, #D4AF37 0%, #F4E6C3 50%, #D4AF37 100%);
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
}
/* ==================== 按钮样式 ==================== */
.btn-luxury {
border-radius: var(--radius-md);
font-weight: 600;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.btn-luxury::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 70%);
opacity: 0;
transition: opacity 0.3s ease;
}
.btn-luxury:active::before {
opacity: 1;
}
/* ==================== 卡片样式 ==================== */
.card-luxury {
background: var(--bg-card);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
border: 1rpx solid var(--border-dark);
overflow: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-luxury:active {
background: var(--bg-card-hover);
box-shadow: var(--shadow-lg);
transform: translateY(-2rpx);
}
/* 金色装饰卡片 */
.card-gold-accent {
position: relative;
}
.card-gold-accent::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3rpx;
background: linear-gradient(90deg, transparent 0%, #D4AF37 50%, transparent 100%);
}
/* ==================== 徽章样式 ==================== */
.badge-luxury {
display: inline-flex;
align-items: center;
padding: 6rpx 16rpx;
border-radius: var(--radius-full);
font-size: 20rpx;
font-weight: 600;
border: 1rpx solid;
}
.badge-gold {
background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(244, 230, 195, 0.2) 100%);
color: var(--primary-gold);
border-color: var(--primary-gold);
}
.badge-silver {
background: rgba(192, 192, 192, 0.15);
color: var(--secondary-silver);
border-color: var(--secondary-silver);
}
/* ==================== 特殊效果 ==================== */
/* 金属质感 */
.metallic-gold {
background: linear-gradient(135deg,
#9A7B1A 0%,
#B8941F 20%,
#D4AF37 40%,
#F4E6C3 50%,
#D4AF37 60%,
#B8941F 80%,
#9A7B1A 100%
);
background-size: 200% 200%;
animation: shimmer 3s linear infinite;
}
@keyframes shimmer {
0% { background-position: 0% 0%; }
50% { background-position: 100% 100%; }
100% { background-position: 0% 0%; }
}
/* 发光效果 */
.glow-gold {
box-shadow: var(--glow-gold);
}
.glow-gold-hover:active {
box-shadow: var(--glow-gold);
}
/* 玻璃态效果 - 深色版 */
.glass-dark {
background: rgba(26, 26, 26, 0.8);
backdrop-filter: blur(20rpx) saturate(180%);
-webkit-backdrop-filter: blur(20rpx) saturate(180%);
border: 1rpx solid rgba(255, 255, 255, 0.1);
}
/* 划线装饰 */
.divider-gold {
height: 2rpx;
background: linear-gradient(90deg,
transparent 0%,
var(--primary-gold) 20%,
var(--primary-gold) 80%,
transparent 100%
);
}
/* ==================== 动画效果 ==================== */
@keyframes fadeInDark {
from {
opacity: 0;
transform: translateY(20rpx);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideInGold {
from {
opacity: 0;
transform: translateX(-40rpx);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes glowPulse {
0%, 100% {
box-shadow: 0 0 20rpx rgba(212, 175, 55, 0.4);
}
50% {
box-shadow: 0 0 40rpx rgba(212, 175, 55, 0.8);
}
}
.animate-fade-in { animation: fadeInDark 0.4s ease-out; }
.animate-slide-in { animation: slideInGold 0.5s ease-out; }
.animate-glow { animation: glowPulse 2s ease-in-out infinite; }
/* ==================== 响应式字体 ==================== */
.text-xs { font-size: 20rpx; line-height: 1.4; }
.text-sm { font-size: 24rpx; line-height: 1.5; }
.text-base { font-size: 28rpx; line-height: 1.5; }
.text-lg { font-size: 32rpx; line-height: 1.4; }
.text-xl { font-size: 36rpx; line-height: 1.3; }
.text-2xl { font-size: 40rpx; line-height: 1.2; }
.text-3xl { font-size: 48rpx; line-height: 1.1; }
.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
/* ==================== 实用工具类 ==================== */
.rounded-sm { border-radius: var(--radius-sm); }
.rounded-md { border-radius: var(--radius-md); }
.rounded-lg { border-radius: var(--radius-lg); }
.rounded-xl { border-radius: var(--radius-xl); }
.rounded-full { border-radius: var(--radius-full); }
.overflow-hidden { overflow: hidden; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.flex-1 { flex: 1; }
.gap-xs { gap: var(--space-xs); }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); }
.w-full { width: 100%; }
.h-full { height: 100%; }
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.z-10 { z-index: 10; }
.z-50 { z-index: 50; }
.z-100 { z-index: 100; }
.z-999 { z-index: 999; }