vue+hamster实现色轮满意度选择器效果代码
代码语言:html
所属分类:选择器
代码描述:vue+hamster实现色轮满意度选择器效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
:root {
--bg: #ebebeb;
background: var(--bg);
font-family: monospace;
}
.wrap {
position: relative;
width: 100vmin;
height: 100vmin;
margin-inline: auto;
}
.wheel {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
/*background: #202124;*/
perspective: 1200px;
transform: translate(-50%, -50%);
pointer-events: none;
}
.wheel::after,
.wheel::before,
.wheel__step {
position: absolute;
top: 50%;
left: 50%;
width: 80%;
height: 80%;
transform: translate(-50%, -50%) scale(calc(.2 + var(--cd, 0) * .8));
border-radius: 50%;
background: conic-gradient(var(--grad));
}
.wheel__step--inv {
opacity: 0;
transition: 200ms opacity linear;
}
.wheel--inv .wheel__step--inv {
opacity: 1;
transition-delay: calc(.4s * var(--cd, 0));
}
.wheel::after,
.wheel::before {
content: "";
background: var(--bg);
}
.wheel::before {
z-index: 1;
background: hsl(var(--r), calc(100% * var(--sat, 1)), calc(100% * var(--light, 1)));
transform: translate(-50%, -50%) scale(0.11);
}
.wheel__huelabel {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
font-weight: normal;
box-sizing: border-box;
position: absolute;
top: 50%;
left: 50%;
width: 100%;
transform: translate(-50%, -50%) rotate(calc(-90deg + var(--i, 0) * 360deg));
font-size: 2vmin;
padding: 0.2em 1em 0.2em 94%;
z-index: 1;
}
.wheel__huelabel::before,
.wheel__huelabel::after {
content: "";
position: absolute;
bottom: 50%;
left: 91%;
right: 3.5em;
height: 1px;
background: #202124;
transform: translateY(50%);
}
.wheel__huelabel::after {
height: 30%;
aspect-ratio: 1;
right: auto;
left: 90%;
background: hsl(calc(360 * var(--i, 0)), 100%, 70%);
border-radius: 50%;
border: 3px solid var(--bg);
transform: tran.........完整代码请登录后点击上方下载按钮下载查看
网友评论0