/* 页面主背景 */ body { background: linear-gradient(135deg, #f8fffe 0%, #e8f5e8 50%, #d4f1d4 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(39, 174, 96, 0.05) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(46, 204, 113, 0.05) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(168, 230, 207, 0.08) 0%, transparent 50%); pointer-events: none; z-index: -1; } /* 容器背景 */ .container { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(10px); border-radius: 16px; box-shadow: 0 8px 32px rgba(39, 174, 96, 0.1); margin-top: 20px; margin-bottom: 20px; } /* 头部背景 */ .header { background: linear-gradient(135deg, rgba(39, 174, 96, 0.05) 0%, rgba(168, 230, 207, 0.05) 100%); border-radius: 16px 16px 0 0; position: relative; overflow: hidden; } .header::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 30% 20%, rgba(39, 174, 96, 0.1) 0%, transparent 40%), radial-gradient(circle at 70% 80%, rgba(46, 204, 113, 0.08) 0%, transparent 40%); pointer-events: none; } /* 热搜项目背景 */ .hot-item { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(8px); position: relative; overflow: hidden; } .hot-item::after { content: ''; position: absolute; top: 0; right: 0; width: 60px; height: 100%; background: linear-gradient(90deg, transparent 0%, rgba(39, 174, 96, 0.02) 100%); pointer-events: none; } /* 前三名特殊背景效果 */ .hot-item:nth-child(1) { background: linear-gradient(135deg, rgba(231, 76, 60, 0.05) 0%, rgba(255, 255, 255, 0.95) 100%); } .hot-item:nth-child(2) { background: linear-gradient(135deg, rgba(243, 156, 18, 0.05) 0%, rgba(255, 255, 255, 0.95) 100%); } .hot-item:nth-child(3) { background: linear-gradient(135deg, rgba(52, 152, 219, 0.05) 0%, rgba(255, 255, 255, 0.95) 100%); } /* 加载状态背景 */ .loading { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(8px); border-radius: 12px; margin: 20px; } /* 错误信息背景 */ .error-message { background: linear-gradient(135deg, rgba(231, 76, 60, 0.05) 0%, rgba(255, 255, 255, 0.9) 100%); backdrop-filter: blur(8px); border-radius: 12px; border: 1px solid rgba(231, 76, 60, 0.1); margin: 20px; } /* 底部背景 */ .footer { background: linear-gradient(135deg, rgba(39, 174, 96, 0.03) 0%, rgba(168, 230, 207, 0.03) 100%); border-radius: 0 0 16px 16px; position: relative; } .footer::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(39, 174, 96, 0.3) 50%, transparent 100%); } /* 响应式背景调整 */ @media (max-width: 768px) { .container { margin-top: 10px; margin-bottom: 10px; border-radius: 12px; } .header { border-radius: 12px 12px 0 0; } .footer { border-radius: 0 0 12px 12px; } body::before { background-image: radial-gradient(circle at 20% 80%, rgba(39, 174, 96, 0.03) 0%, transparent 40%), radial-gradient(circle at 80% 20%, rgba(46, 204, 113, 0.03) 0%, transparent 40%); } } @media (min-width: 1025px) { .container { margin-top: 40px; margin-bottom: 40px; } body::before { background-image: radial-gradient(circle at 15% 85%, rgba(39, 174, 96, 0.06) 0%, transparent 60%), radial-gradient(circle at 85% 15%, rgba(46, 204, 113, 0.06) 0%, transparent 60%), radial-gradient(circle at 50% 50%, rgba(168, 230, 207, 0.04) 0%, transparent 70%); } } /* 动画效果 */ @keyframes backgroundShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* 悬浮时的背景变化 */ .hot-item:hover { background: rgba(255, 255, 255, 0.95); } .hot-item:hover::after { background: linear-gradient(90deg, transparent 0%, rgba(39, 174, 96, 0.05) 100%); } /* 排名背景渐变 */ .rank { position: relative; overflow: hidden; } .rank::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 0%, transparent 100%); pointer-events: none; }