css+svg实现三角切换选择三选一效果代码
代码语言:html
所属分类:布局界面
代码描述:css+svg实现三角切换选择三选一效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> .threeway-toggle { --dot-size: 30px; --dot-border-width: 5px; --dot-option-1-color: orange; --dot-option-1-label: "orange"; --dot-option-2-color: rgb(163, 230, 53); --dot-option-2-label: "green"; --dot-option-3-color: rgb(14, 165, 233); --dot-option-3-label: "blue"; position: relative; display: block; width: 100px; height: 100px; transition: scale 300ms ease-in-out; } .threeway-toggle:has(input:focus-visible) { scale: 1.25; } /* tooltip */ .threeway-toggle::before { content: var(--dot-label); position: absolute; top: 50%; left: 50%; translate: -50% -25%; opacity: 0; font-size: 0.7rem; color: var(--dot-label-clr); transition: opacity 300ms ease-in-out; pointer-events: none; } .threeway-toggle:has(input:focus)::before, .threeway-toggle:hover::before { opacity: 1; transition-delay: 300ms, 0ms; } /* triangle */ .threeway-toggle > svg { width: 100%; margin: 0; } .threeway-toggle > svg > path { color: var(--dot-clr); transition: all 300ms ease-in-out; fill: transparent; } /* dot */ .threeway-toggle::after { content: ""; position: absolute; margin: auto; left: var(--dot-left, 0); top: var(--dot-top, 0); translate: -50% -50%; width: var(--dot-size); height: var(--dot-size); aspect-ratio: 1; border-radius: 50%; background-color: var(--clr-bg); border: var(--dot-border-width) solid var(--dot-clr); transition: all 300ms cubic-bezier(0.68, -0.55, 0.27, 1.55); } /* position invisible radio buttons on corne.........完整代码请登录后点击上方下载按钮下载查看
网友评论0