分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

自定义常用input表单元素三:纯css实现自定义Switch开关按钮

发布时间:2023-09-06 02:14责任编辑:顾先生关键词:暂无标签

自定义常用input表单元素的第三篇,自定义一个Switch开关,表面上看是和input没关系,其实这里采用的是checkbox的checked值的切换。同样,采用css伪类和“+”css选择器为思路,下面是预览图:

 下面先放HTML代码,看下DOM结构:

<input type="checkbox" id="my_switch" class="my_switch"> ???<label for="my_switch"></label>

DOM结构没什么特别的,就是一个常用的checkbox复选框的结构,唯一不同的是label标签没有内容。下面再看下CSS代码:

.my_switch { ???display: none;}.my_switch+label { ???display: inline-block; ???box-sizing: border-box; ???height: 22px; ???min-width: 44px; ???line-height: 20px; ???vertical-align: middle; ???border-radius: 100px; ???border: 1px solid transparent; ???background-color: rgba(0, 0, 0, 0.25); ???cursor: pointer; ???-webkit-transition: all 0.36s; ???transition: all 0.36s; ???position: relative;}.my_switch:checked+label { ???background-color: #1890ff;}.my_switch+label::before { ???content: ""; ???display: block; ???width: 18px; ???height: 18px; ???position: absolute; ???left: 1px; ???top: 1px; ???border-radius: 18px; ???background-color: #fff; ???cursor: pointer; ???transition: all 0.36s cubic-bezier(0.78, 0.14, 0.15, 0.86); ???-webkit-transition: all 0.36s cubic-bezier(0.78, 0.14, 0.15, 0.86); ???-webkit-box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2); ???box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);}.my_switch:checked+label::before { ???left: 23px; ???transition: all 0.36s cubic-bezier(0.78, 0.14, 0.15, 0.86); ???-webkit-transition: all 0.36s cubic-bezier(0.78, 0.14, 0.15, 0.86);}.my_switch+label::after { ???content: "关"; ???position: absolute; ???top: 1px; ???left: 24px; ???font-size: 12px; ???color: #fff}.my_switch:checked+label::after { ???content: "开"; ???left: 5px;}
View Code

主要思路:switch开关有三部分组成,第一部分就是整个开关背景(椭圆部分)这部分可以用label定义样式。第二部分为左右切换的小按钮,可以用label伪类表示。第三部分为显示的开关文字,同样也可以用伪类表示。最终根据checkbox复选框的checked值就可以切换开或关了。赶快去试试吧。

自定义常用input表单元素三:纯css实现自定义Switch开关按钮

原文地址:https://www.cnblogs.com/websharehome/p/9629824.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved