js+css实现可修改参数的边框发光走动悬浮按钮特效代码
代码语言:html
所属分类:悬停
代码描述:js+css实现可修改参数的边框发光走动悬浮按钮特效代码
代码标签: js css 修改 参数 边框 发光 走动 悬浮 按钮
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @font-face { font-family: "Geist Sans"; src: url("//repo.bfw.wiki/bfwrepo/font/GeistVF.ttf") format("truetype"); } *, *:after, *:before { box-sizing: border-box; } :root { --saturation: 20%; --transition: 0.15s; --glow: hsl(var(--hue, 150) 80% 70% / var(--alpha, 1)); --border-radius: calc(var(--radius) * 1px); --border-width: calc(var(--thickness) * 1px); --active: 0; --glow-spread: calc(var(--spread) * 1deg); } body { background: hsl(260 0% 0%); display: grid; place-items: center; min-height: 100vh; font-family: 'Geist Sans', arial, system-ui, sans-serif; overflow: hidden; } button { --bg: radial-gradient( 40% 50% at center 100%, hsl(var(--hue) var(--saturation) 72% / 0.15), transparent ), radial-gradient( 80% 100% at center 120%, hsl(var(--hue) var(--saturation) 70% / 0.2), transparent ), hsl(260 0% 2%); background: var(--bg); font-size: 2rem; font-family: 'Geist Sans'; font-weight: 500; cursor: pointer; padding: 0.9em 2em; min-width: 280px; display: grid; border: 0; place-items: center; white-space: nowrap; border-radius: var(--border-radius); position: relative; box-shadow: 0 0.025em 0.4em -0.02em hsl(0 0% 100% / 0.25), 0 0.05em 0 0 hsl(260 0% 50%) inset, 0 -0.05em 0 0 hsl(260 0% 0%) inset; transition: box-shadow var(--transition), scale var(--transition), background var(--transition); scale: calc(1 + (var(--active) * 0.025)); } /* Feint border */ button::before { --saturation: 90%; content: ""; position: absolute; inset: 0; border: 1px solid hsl(var(--hue) var(--saturation) 80% / 0.3); border-radius: var(--border-radius); pointer-events: none; } button:active { scale: 1; } @-webkit-keyframes flip { to { rotate: 360deg; } } @keyframes flip { to { rotate: 360deg; } } .spark:before { content: ""; position: absolute; } /* Purely to decorate the use of CQ elements sliding along */ .spark:after { /* background: red;*/ content: ""; position: absolute; inset: 0; z-index: -1; } /* Optional backdrop – For some reason, if you go with the mask-composite, you lose the glow... */ .backdrop { position: absolute; inset: 0; background: linear-gradient(transparent 5%, hsl(0 0% 0% / .........完整代码请登录后点击上方下载按钮下载查看
网友评论0