2024年08月23日 建站教程
定义一个button按钮+div标签,样式直接复制下面的css代码就可以了!点击查看按钮效果!
@property --border-angle-1 { syntax: "<angle>"; inherits: true; initial-value: 0deg; } @property --border-angle-2 { syntax: "<angle>"; inherits: true; initial-value: 90deg; } @property --border-angle-3 { syntax: "<angle>"; inherits: true; initial-value: 180deg; } :root { --bright-blue: rgb(0, 100, 255); --bright-green: rgb(0, 255, 0); --bright-red: rgb(255, 0, 0); --background: black; --foreground: white; --border-size: 2px; --border-radius: 0.75em; } @supports (color: color(display-p3 1 1 1)) { :root { --bright-blue: color(display-p3 0 0.2 1); --bright-green: color(display-p3 0.4 1 0); --bright-red: color(display-p3 1 0 0); } } @keyframes rotateBackground { to { --border-angle-1: 360deg; } } @keyframes rotateBackground2 { to { --border-angle-2: -270deg; } } @keyframes rotateBackground3 { to { --border-angle-3: 540deg; } } body { background: var(--background); color: var(--foreground); min-height: 100dvh; display: grid; place-content: center; margin: 0; font-family: "Aspekta"; } button { --border-angle-1: 0deg; --border-angle-2: 90deg; --border-angle-3: 180deg; color: inherit; font-size: calc(0.8rem + 4vmin); font-family: inherit; border: 0; padding: var(--border-size); display: flex; width: max-content; border-radius: var(--border-radius); background-color: transparent; background-image: conic-gradient( from var(--border-angle-1) at 10% 15%, transparent, var(--bright-blue) 10%, transparent 30%, transparent ), conic-gradient( from var(--border-angle-2) at 70% 60%, transparent, var(--bright-green) 10%, transparent 60%, transparent ), conic-gradient( from var(--border-angle-3) at 50% 20%, transparent, var(--bright-red) 10%, transparent 50%, transparent ); animation: rotateBackground 3s linear infinite, rotateBackground2 8s linear infinite, rotateBackground3 13s linear infinite; } button div { background: var(--background); padding: 1em 1.5em; border-radius: calc(var(--border-radius) - var(--border-size)); color: var(--foreground); }
本文链接:http://so.lmcjl.com/news/11474/