HTMLgit
<input id="customSwitch" type="checkbox" /> <label for="customSwitch" class="switch"></label>
CSSgithub
/* 定义全局变量 */ :root { --base_color: rgba(0, 0, 0, 0.25); --act_color: #5dcb61; } /* 隐藏input输入框 */ #customSwitch { position: absolute; left: -9999px; } /* 设置自定义颜色 */ .switch { position: relative; display: inline-block; width: 40px; height: 20px; background-color: var(--base_color); border-radius: 20px; transition: all 0.3s 0s; } /* 开关圆球 */ .switch::after { content: ""; position: absolute; top: 1px; left: 1px; width: 18px; height: 18px; border-radius: 18px; background-color: white; transition: all 0.3s 0s; } input[type="checkbox"]:checked + .switch::after { transform: translateX(20px); } input[type="checkbox"]:checked + .switch { background-color: var(--act_color); }
核心知识点学习
隐藏真实input输入框,经过label for属性与input输入框绑定。code
label标签自己做为椭圆形背景,用伪类做为开关圆球。orm
input选中后,须要单独设置label标签本体和伪类的移动blog
🌟本系列旨在经过最直接的事例最完整的代码,解决一些开发中常遇到的实际问题。开发
例子连接🚀:https://github.com/TianYiYang0225/high-ku/tree/master/customSwitchget
喜欢的朋友能够点击关注一波~天天都会更新最实用的项目技巧input
有兴趣的小伙伴能够关注一下个人公众号,互相学习,共同进步。
it