/* 背景样式文件 - 单独管理所有背景相关样式 */ /* 主体背景 */ body { background: linear-gradient(135deg, #f0fff4 0%, #e6fffa 50%, #f0fff4 100%); background-attachment: fixed; position: relative; } /* 背景装饰元素 */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 20% 80%, rgba(104, 211, 145, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(72, 187, 120, 0.1) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(56, 161, 105, 0.05) 0%, transparent 50%); pointer-events: none; z-index: -1; } /* 容器背景 */ .container { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.2); } /* 输入区域背景 */ .input-section { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(20px); border: 1px solid rgba(104, 211, 145, 0.2); position: relative; overflow: hidden; } .input-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #48bb78, #68d391, #9ae6b4); } /* 配色方案卡片背景 */ .palette { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(15px); border: 1px solid rgba(104, 211, 145, 0.15); position: relative; overflow: hidden; } .palette::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #68d391, transparent); opacity: 0; transition: opacity 0.3s ease; } .palette:hover::before { opacity: 1; } /* 颜色信息背景 */ .color-info { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); border: 1px solid rgba(104, 211, 145, 0.2); } /* 颜色项背景 */ .color-item { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(5px); border: 1px solid rgba(104, 211, 145, 0.15); position: relative; } .color-item::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, transparent 48%, rgba(104, 211, 145, 0.05) 50%, transparent 52%); opacity: 0; transition: opacity 0.3s ease; pointer-events: none; } .color-item:hover::after { opacity: 1; } /* 颜色详情背景 */ .color-detail { background: rgba(104, 211, 145, 0.08); border: 1px solid rgba(104, 211, 145, 0.1); position: relative; } .color-detail::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, transparent 100%); pointer-events: none; } /* 按钮背景 */ .generate-btn { background: linear-gradient(135deg, #48bb78 0%, #68d391 50%, #9ae6b4 100%); position: relative; overflow: hidden; } .generate-btn::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 ease; } .generate-btn:hover::before { left: 100%; } /* 加载动画背景 */ .loading { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); border-radius: 12px; border: 1px solid rgba(104, 211, 145, 0.2); } /* 响应式背景调整 */ @media (max-width: 768px) { body { background: linear-gradient(180deg, #f0fff4 0%, #e6fffa 100%); } .container { background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(5px); } .input-section, .palette, .color-info { backdrop-filter: blur(10px); } } @media (max-width: 480px) { body::before { background-image: radial-gradient(circle at 50% 50%, rgba(104, 211, 145, 0.08) 0%, transparent 70%); } .container { background: transparent; backdrop-filter: none; border: none; } }