css实现炫酷光线走动按钮动画效果代码
代码语言:html
所属分类:动画
代码描述:css实现炫酷光线走动按钮动画效果代码,背景渐变动画+边框线条流动结合,当鼠标悬浮时,按钮背景亮起。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> @import url("https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,500&display=swap"); :root { --shiny-cta-bg: #000000; --shiny-cta-bg-subtle: #1a1818; --shiny-cta-fg: #ffffff; --shiny-cta-highlight: blue; --shiny-cta-highlight-subtle: #8484ff; } * { box-sizing: border-box; } html, body { height: 100%; } body { display: grid; place-items: center; color: white; background: #02040c; font-family: "Inter", sans-serif; font-optical-sizing: auto; font-weight: 500; font-style: normal; -webkit-font-smoothing: antialiased; } @property --gradient-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; } @property --gradient-angle-offset { syntax: "<angle>"; initial-value: 0deg; inherits: false; } @property --gradient-percent { syntax: "<percentage>"; initial-value: 5%; inherits: false; } @property --gradient-shine { syntax: "<color>"; initial-value: white; inherits: false; } .shiny-cta { --animation: gradient-angle linear infinite; --duration: 3s; --shadow-size: 2px; isolation: isolate; position: relative; overflow: hidden; cursor: pointer; outline-offset: 4px; padding: 1.25rem 2.5rem; font-family: inherit; font-size: 1.125rem; line-height: 1.2; border: 1px solid transparent; border-radius: 360px; color: var(--shiny-cta-fg); background: linear-gradient(var(--shiny-cta-bg), var(--shiny-cta-bg)) padding-box, conic-gradient( from calc(var(--gradient-angle) - var(--gradient-angle-offset)), transparent, var(--shiny-cta-highlight) var(--gradient-percent), var(--gradient-shine) calc(var(--gradient-percent) * 2), var(--shiny-cta-highlight) calc(var(--gradient-percent) * 3), transparent calc(var(--gradient-percent) * 4) ) border-box; box-shadow: inset 0 0 0 1px var(--shiny-cta-bg-subtle); &::before, &::after, span::before { content: ""; pointer-events: none; position: absolute; inset-inline-start: 50%; inset-block-start: 50%; translate: -50% -50%; z-index: -1; } &:active { translate: 0 1px; } } /* Dots pattern */ .shiny-cta::before { --size: calc(100% - var(--shadow-size) * 3); --position: 2px; --space: calc(var(--position) * 2); width: var(--size); height: var(--size); background: radial-gradient( circle at var(--position) var(--position), white calc(var(--position) / 4), transparent 0 ) padding-.........完整代码请登录后点击上方下载按钮下载查看
网友评论0