/* 动态背景样式 */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); z-index: -2; } body::after { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(120, 219, 255, 0.3) 0%, transparent 50%); z-index: -1; animation: backgroundMove 20s ease-in-out infinite; } @keyframes backgroundMove { 0%, 100% { background: radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(120, 219, 255, 0.3) 0%, transparent 50%); } 25% { background: radial-gradient(circle at 60% 30%, rgba(120, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 30% 70%, rgba(255, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(120, 219, 255, 0.3) 0%, transparent 50%); } 50% { background: radial-gradient(circle at 80% 60%, rgba(120, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 20% 30%, rgba(255, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 60% 70%, rgba(120, 219, 255, 0.3) 0%, transparent 50%); } 75% { background: radial-gradient(circle at 40% 90%, rgba(120, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 70% 10%, rgba(255, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 20% 60%, rgba(120, 219, 255, 0.3) 0%, transparent 50%); } } /* 浮动粒子效果 */ .particles { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; } .particle { position: absolute; width: 4px; height: 4px; background: rgba(255, 255, 255, 0.5); border-radius: 50%; animation: float 15s infinite linear; } .particle:nth-child(1) { left: 10%; animation-delay: 0s; animation-duration: 12s; } .particle:nth-child(2) { left: 20%; animation-delay: 2s; animation-duration: 18s; } .particle:nth-child(3) { left: 30%; animation-delay: 4s; animation-duration: 15s; } .particle:nth-child(4) { left: 40%; animation-delay: 6s; animation-duration: 20s; } .particle:nth-child(5) { left: 50%; animation-delay: 8s; animation-duration: 14s; } .particle:nth-child(6) { left: 60%; animation-delay: 10s; animation-duration: 16s; } .particle:nth-child(7) { left: 70%; animation-delay: 12s; animation-duration: 22s; } .particle:nth-child(8) { left: 80%; animation-delay: 14s; animation-duration: 13s; } .particle:nth-child(9) { left: 90%; animation-delay: 16s; animation-duration: 19s; } .particle:nth-child(10) { left: 15%; animation-delay: 18s; animation-duration: 17s; } @keyframes float { 0% { transform: translateY(100vh) rotate(0deg); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(-100px) rotate(360deg); opacity: 0; } } /* 网格背景效果 */ .grid-background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px); background-size: 50px 50px; z-index: -1; opacity: 0.3; animation: gridMove 30s linear infinite; } @keyframes gridMove { 0% { transform: translate(0, 0); } 100% { transform: translate(50px, 50px); } } /* 光晕效果 */ .glow-effect { position: fixed; top: 50%; left: 50%; width: 300px; height: 300px; background: radial-gradient(circle, rgba(74, 144, 226, 0.2) 0%, transparent 70%); border-radius: 50%; transform: translate(-50%, -50%); z-index: -1; animation: pulse 4s ease-in-out infinite; } @keyframes pulse { 0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; } 50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.8; } } /* 响应式背景调整 */ @media (max-width: 768px) { .grid-background { background-size: 30px 30px; } .glow-effect { width: 200px; height: 200px; } .particle { width: 3px; height: 3px; } } @media (max-width: 480px) { .grid-background { background-size: 20px 20px; } .glow-effect { width: 150px; height: 150px; } .particle { width: 2px; height: 2px; } }