css实现一个简洁步进器steper控件选择数值效果代码

代码语言:html

所属分类:选择器

代码描述:css实现一个简洁步进器steper控件选择数值效果代码

代码标签: 简洁 步进 steper 控件 选择 数值 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>

<html lang="en">

<head>

   
<meta charset="UTF-8">




   
<style>
   
       
@keyframes float {
          to
{
           
transform: translateY(0.75em);
         
}
       
}
        body
, div, label {
         
display: grid;
       
}
       
        body
{
         
margin: 0;
         
min-height: 100vh;
         
background: whitesmoke;
       
}
       
        form
{
         
place-self: center;
         
overflow: hidden;
         
width: 4em;
         
border-radius: 0.75em;
         
box-shadow: 0 3rem 6rem rgba(13, 13, 13, 0.2);
         
background: #333333;
         
font: 600 6.5em ubuntu, sans-serif;
         
transition: transform 0.25s;
         
pointer-events: none;
       
}
       
form:active {
         
transform: scale(0.85);
       
}
       
       
[role=group] {
         
align-content: center;
         
height: 2em;
         
transform: translate(calc((.5 - var(--k))*2em));
         
transition: inherit;
       
}
       
       
[type=radio] {
         
z-index: 2;
         
opacity: 0;
       
}
       
[type=radio], [type=radio] + label {
         
grid-area: 1/calc(var(--i) + 1);
       
}
       
[type=radio] + label {
         
--dif: calc(var(--i) - var(--k));
         
--sgn: clamp(-1, var(--dif), 1);
         
--not-sel: min(1, max(-1*var(--dif), var(--dif)));
         
place-content: center;
         
width: 2em;
         
height: 4em;
         
transform-origin: calc(50%*(1 - var(--sgn)));
         
transform: scale(calc(1 - var(--not-sel)*.5));
         
color: hsl(0, 0%, calc(100% - var(--not-sel)*57%));
         
transition: inherit;
         
user-select: none;
         
cursor: pointer;
       
}
       
[type=radio]:not(:checked) + label {
         
pointer-events: auto;
       
}
   
</style>



</head>

<body>
   
<form>
       
<div role="group" aria-label="value picker" style="--n: 20; --k: 10">
            <input type="radio" name="o" id=".........完整代码请登录后点击上方下载按钮下载查看

网友评论0