div+css实现鼠标悬浮频谱动画效果代码
代码语言:html
所属分类:悬停
代码描述:div+css实现鼠标悬浮频谱动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@1,700&display=swap"); * { padding: 0; margin: 0 auto; box-sizing: border-box; } body { background-image: radial-gradient(circle, #333, #000 800px); min-height: 100vh; display: grid; place-items: center; } .noise { position: relative; width: 287px; height: 36px; border: none; background: none; font-family: "Josefin Sans", sans-serif; font-size: 24px; color: #fff; cursor: pointer; } .noise::after { content: "Hover for Noise"; opacity: var(--op, 1); transition: opacity 0.4s; } .noise > i { position: absolute; left: var(--left, 0); top: 50%; width: 3px; height: 72px; transform: translateY(-50%) scaleY(var(--sy, 0)); z-index: -1; transition: transform var(--duration) ease-out; } .noise > i::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(#fff, hsl(var(--hue, 0), 75%, 75%)); border-radius: 50%; -webkit-animation: noise var(--duration) infinite ease-in-out alternate; animation: noise var(--duration) infinite ease-in-out alternate; -webkit-animation-play-state: var(--aps, paused); animation-play-state: var(--aps, paused); } @-webkit-keyframes noise { 0% { transform: scaleY(calc(1 - (var(--size, 0)))); } 100% { transform: scaleY(calc(1 + (var(--size, 0)))); } } @keyframes noise { 0% { transform: scaleY(calc(1 - (var(--size, 0)))); } 100% { transform: scaleY(calc(1 + (var(--size, 0)))); } } .noise > i:nth-child(1) { --left: 0px; --duration: 322ms; --size: 0.359; --hue: 0; } .noise > i:nth-child(2) { --left: 4px; --duration: 256ms; --size: 0.102; --hue: 5; } .noise > i:nth-child(3) { --left: 8px; --duration: 382ms; --size: 0.888; --hue: 10; } .noise > i:nth-child(4) { --left: 12px; --duration: 251ms; --size: 0.461; --hue: 15; } .noise > i:nth-child(5) { --left: 16px; --duration: 349ms; --size: 0.002; --hue: 20; } .noise > i:nth-child(6) { --left: 20px; --duration: 392ms; --size: 0.572; --hue: 25; } .noise > i:nth-child(7) { --left: 24px; --duration: 338ms; --size: 0.588; --hue: 30; } .noise > i:nth-child(8) { --left: 28px; --duration: 400ms; --size: 0.649; --hue: 35; } .noise > i:nth-child(9) { --left: 32px; --duration: 283ms; --size: 0.461; --hue: 40; } .noise > i:nth-child(10) { --left: 36px; --duration: 248ms; --size: 0.508; --hue: 45; } .noise > i:nth-child(11) { --left: 40px; --duration: 292ms; --size: 0.919; --hue: 50; } .noise > i:nth-child(12) { --left: 44px; --duration: 216ms; --size: 0.44; --hue: 55; } .noise > i:nth-child(13) { --left: 48px; --duration: 271ms; --size: 0.335; --hue: 60; } .noise > i:nth-child(14) { --left: 52px; --duration: 291ms; --size: 0.558; --hue: 65; } .noise > i:nth-child(15) { --left: 56px; --duration: 314ms; --size: 0.718; --hue: 70; } .noise > i:nth-child(16) { --left: 60px; --duration: 301ms; --size: 0.453; --hue: 75; } .noise > i:nth-child(17) { --left: 64px; --duration: 206ms; --size: 0.455; --hue: 80; } .noise > i:nth-child(18) { --left: 68px; --duration: 375ms; --size: 0.128; --hue: 85; } .nois.........完整代码请登录后点击上方下载按钮下载查看
网友评论0