| | |
| | | animation: circle-pulse 4s ease-in-out infinite; |
| | | } |
| | | |
| | | /* 红框中科技感圆圈动画效果 - 更柔和的版本 */ |
| | | /* 光扫描效果动画 */ |
| | | @keyframes lightSweep { |
| | | 0% { |
| | | transform: translateX(-100%) skewX(-45deg); |
| | | opacity: 0; |
| | | } |
| | | 20% { |
| | | opacity: 0.3; |
| | | } |
| | | 60% { |
| | | opacity: 0.3; |
| | | } |
| | | 100% { |
| | | transform: translateX(100%) skewX(-45deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | /* 技术圆圈效果动画 */ |
| | | @keyframes tech-circle-pulse { |
| | | 0%, 100% { |
| | | 0% { |
| | | opacity: 0.3; |
| | | border-color: rgba(106, 219, 255, 0.2); |
| | | } |
| | | 50% { |
| | | opacity: 0.6; |
| | | border-color: rgba(106, 219, 255, 0.5); |
| | | border-color: rgba(106, 219, 255, 0.3); |
| | | } |
| | | 100% { |
| | | opacity: 0.3; |
| | | border-color: rgba(106, 219, 255, 0.2); |
| | | } |
| | | } |
| | | |
| | | @keyframes tech-circle-rotate { |
| | | 0% { |
| | | transform: rotate(0deg); |
| | | background-color: rgba(19, 28, 65, 0.3); |
| | | background: rgba(19, 28, 65, 0.3); |
| | | } |
| | | 50% { |
| | | background-color: rgba(19, 28, 65, 0.5); |
| | | background: rgba(30, 43, 99, 0.3); |
| | | } |
| | | 100% { |
| | | transform: rotate(360deg); |
| | | background-color: rgba(19, 28, 65, 0.3); |
| | | background: rgba(19, 28, 65, 0.3); |
| | | } |
| | | } |
| | | |
| | | @keyframes tech-center-blink { |
| | | 0%, 100% { |
| | | opacity: 0.1; |
| | | 0% { |
| | | opacity: 0.2; |
| | | transform: scale(0.8); |
| | | } |
| | | 50% { |
| | | opacity: 0.5; |
| | | transform: scale(1.1); |
| | | transform: scale(1); |
| | | } |
| | | 100% { |
| | | opacity: 0.2; |
| | | transform: scale(0.8); |
| | | } |
| | | } |
| | | |
| | | @keyframes tech-glow-pulse { |
| | | 0%, 100% { |
| | | 0% { |
| | | opacity: 0.05; |
| | | box-shadow: 0 0 3px rgba(106, 219, 255, 0.05); |
| | | box-shadow: 0 0 5px 0px rgba(106, 219, 255, 0.05); |
| | | } |
| | | 50% { |
| | | opacity: 0.15; |
| | | box-shadow: 0 0 8px rgba(106, 219, 255, 0.15); |
| | | box-shadow: 0 0 15px 5px rgba(106, 219, 255, 0.15); |
| | | } |
| | | 100% { |
| | | opacity: 0.05; |
| | | box-shadow: 0 0 5px 0px rgba(106, 219, 255, 0.05); |
| | | } |
| | | } |
| | | |
| | | .animate-tech-circle-pulse { |
| | | animation: tech-circle-pulse 8s ease-in-out infinite; |
| | | animation: tech-circle-pulse 8s infinite ease-in-out; |
| | | } |
| | | |
| | | .animate-tech-circle-rotate { |
| | | animation: tech-circle-rotate 30s linear infinite; |
| | | animation: tech-circle-rotate 30s infinite linear; |
| | | } |
| | | |
| | | .animate-tech-center-blink { |
| | | animation: tech-center-blink 5s ease-in-out infinite; |
| | | animation: tech-center-blink 5s infinite ease-in-out; |
| | | } |
| | | |
| | | .animate-tech-glow-pulse { |
| | | animation: tech-glow-pulse 8s ease-in-out infinite; |
| | | animation: tech-glow-pulse 8s infinite ease-in-out; |
| | | } |
| | | |
| | | /* 高亮划过效果 - 用于登录页面按钮 */ |
| | | @keyframes shimmer { |
| | | 0% { |
| | | transform: translateX(-100%); |
| | | } |
| | | 100% { |
| | | transform: translateX(100%); |
| | | } |
| | | } |
| | | |
| | | .animate-shimmer { |
| | | animation: shimmer 2s infinite; |
| | | } |
| | | |
| | | /* 登录页面特殊动画 */ |
| | | @keyframes float { |
| | | 0%, 100% { |
| | | transform: translateY(0); |
| | | } |
| | | 50% { |
| | | transform: translateY(-10px); |
| | | } |
| | | } |
| | | |
| | | .animate-float { |
| | | animation: float 6s ease-in-out infinite; |
| | | } |
| | | |
| | | @keyframes tech-connect { |
| | | 0%, 100% { |
| | | opacity: 0.2; |
| | | transform: scaleX(0.7); |
| | | } |
| | | 50% { |
| | | opacity: 0.8; |
| | | transform: scaleX(1); |
| | | } |
| | | } |
| | | |
| | | .animate-tech-connect { |
| | | animation: tech-connect 8s ease-in-out infinite; |
| | | } |
| | | |
| | | /* 输入框聚焦动画 */ |
| | | @keyframes focus-border { |
| | | 0% { |
| | | transform: scaleX(0); |
| | | } |
| | | 100% { |
| | | transform: scaleX(1); |
| | | } |
| | | } |
| | | |
| | | .animate-focus-border { |
| | | animation: focus-border 0.3s ease-out forwards; |
| | | } |
| | | |
| | | /* 量子光线效果动画 - 登录按钮专用 */ |
| | | @keyframes quantum-scan { |
| | | 0% { |
| | | transform: translateX(-100%) skewX(-30deg); |
| | | opacity: 0; |
| | | } |
| | | 20% { |
| | | opacity: 0.5; |
| | | } |
| | | 50% { |
| | | opacity: 0.7; |
| | | } |
| | | 80% { |
| | | opacity: 0.5; |
| | | } |
| | | 100% { |
| | | transform: translateX(100%) skewX(-30deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes quantum-glow { |
| | | 0%, 100% { |
| | | box-shadow: 0 0 5px 2px rgba(106, 219, 255, 0.1); |
| | | } |
| | | 50% { |
| | | box-shadow: 0 0 15px 5px rgba(106, 219, 255, 0.3); |
| | | } |
| | | } |
| | | |
| | | @keyframes quantum-pulse { |
| | | 0%, 100% { |
| | | transform: scale(1); |
| | | } |
| | | 50% { |
| | | transform: scale(1.02); |
| | | } |
| | | } |
| | | |
| | | .quantum-button:hover .quantum-scan-line { |
| | | animation: quantum-scan 3s ease-in-out infinite; |
| | | } |
| | | |
| | | .quantum-button:hover { |
| | | animation: quantum-glow 4s ease-in-out infinite; |
| | | } |
| | | |
| | | .quantum-button:hover .quantum-pulse { |
| | | animation: quantum-pulse 2s ease-in-out infinite; |
| | | } |