/* 玻璃拟态背景相关样式 */ body { background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #4facfe 100% ); background-size: 400% 400%; animation: gradientShift 20s ease infinite; background-attachment: fixed; min-height: 100vh; position: relative; } @keyframes gradientShift { 0% { background-position: 0% 50%; } 25% { background-position: 100% 50%; } 50% { background-position: 100% 100%; } 75% { background-position: 0% 100%; } 100% { background-position: 0% 50%; } } /* 玻璃拟态装饰层 */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 40%), radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.08) 0%, transparent 40%), radial-gradient(circle at 40% 60%, rgba(255, 255, 255, 0.06) 0%, transparent 30%), radial-gradient(circle at 60% 30%, rgba(255, 255, 255, 0.05) 0%, transparent 35%); pointer-events: none; z-index: -1; animation: glassFloat 25s ease-in-out infinite alternate; } /* 毛玻璃气泡效果 */ body::after { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.3) 2px, transparent 2px), radial-gradient(circle at 30% 40%, rgba(255, 255, 255, 0.25) 3px, transparent 3px), radial-gradient(circle at 50% 60%, rgba(255, 255, 255, 0.2) 1.5px, transparent 1.5px), radial-gradient(circle at 70% 80%, rgba(255, 255, 255, 0.3) 2.5px, transparent 2.5px), radial-gradient(circle at 90% 10%, rgba(255, 255, 255, 0.25) 2px, transparent 2px), radial-gradient(circle at 20% 90%, rgba(255, 255, 255, 0.2) 1px, transparent 1px); background-size: 300px 300px, 250px 250px, 400px 400px, 200px 200px, 350px 350px, 150px 150px; animation: bubbleFloat 30s linear infinite; pointer-events: none; z-index: -1; opacity: 0.7; } @keyframes glassFloat { 0% { transform: translateY(0px) rotate(0deg); opacity: 0.7; } 100% { transform: translateY(-20px) rotate(2deg); opacity: 0.9; } } @keyframes bubbleFloat { 0%, 100% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-15px) translateY(-10px); } 50% { transform: translateX(10px) translateY(-20px); } 75% { transform: translateX(-5px) translateY(-15px); } }