css+svg实现三角切换选择三选一效果代码

代码语言:html

所属分类:布局界面

代码描述:css+svg实现三角切换选择三选一效果代码

代码标签: 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