1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| /* 鼠标点击水波纹特效 */ .click-ripple { position: fixed; border-radius: 50%; pointer-events: none; z-index: 99999; transform: translate(-50%, -50%); opacity: 0; animation: ripple 1.2s cubic-bezier(0.23, 1, 0.32, 1); }
@keyframes ripple { 0% { width: 0; height: 0; opacity: 0.8; border: 2px solid rgba(64, 158, 255, 0.8); box-shadow: 0 0 10px rgba(64, 158, 255, 0.5); } 20% { opacity: 0.6; border: 2px solid rgba(64, 158, 255, 0.7); box-shadow: 0 0 20px rgba(64, 158, 255, 0.6); } 100% { width: 500px; height: 500px; opacity: 0; border: 2px solid rgba(64, 158, 255, 0); box-shadow: 0 0 30px rgba(64, 158, 255, 0); } }
/* 多色水波纹特效 - 可选 */ .multi-color .click-ripple { animation: ripple-multi 1.2s cubic-bezier(0.23, 1, 0.32, 1); }
@keyframes ripple-multi { 0% { width: 0; height: 0; opacity: 0.8; border: 2px solid rgba(64, 158, 255, 0.8); box-shadow: 0 0 10px rgba(64, 158, 255, 0.5); } 33% { opacity: 0.6; border: 2px solid rgba(103, 194, 58, 0.7); box-shadow: 0 0 20px rgba(103, 194, 58, 0.6); } 66% { opacity: 0.4; border: 2px solid rgba(230, 162, 60, 0.6); box-shadow: 0 0 25px rgba(230, 162, 60, 0.5); } 100% { width: 500px; height: 500px; opacity: 0; border: 2px solid rgba(245, 108, 108, 0); box-shadow: 0 0 30px rgba(245, 108, 108, 0); } }
/* 鼠标移动轨迹效果 - 可选 */ .mouse-trail { position: fixed; border-radius: 50%; pointer-events: none; z-index: 99998; background: rgba(64, 158, 255, 0.3); transform: translate(-50%, -50%); animation: trail 0.6s ease-out forwards; }
@keyframes trail { 0% { width: 12px; height: 12px; opacity: 0.8; } 100% { width: 0; height: 0; opacity: 0; } }
/* 禁用特效类 */ .no-mouse-effect .click-ripple, .no-mouse-effect .mouse-trail { display: none !important; }
|