自定义常用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;
}

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

自定义常用input表单元素三:纯css实现自定义Switch开关按钮的更多相关文章

  1. 自定义常用input表单元素二:纯css实现自定义radio单选按钮

    这是接着上一篇纯css自定义复选框checkbox的第二篇,自定义一个radio单选按钮,同样,采用css伪类和"+"css选择器为思路,下面是预览图: 下面直入主题放代码:HTM ...

  2. 自定义常用input表单元素一:纯css 实现自定义checkbox复选框

    最下面那个是之前写的  今天在做项目的时候发现,之前写的貌似还是有点多,起码增加的span标签可以去掉,这样保持和原生相同的结构最好的,仅仅是样式上的变化.今天把项目中的这个给更新上来.下面就直接还是 ...

  3. mui弹出输入法遮住input表单元素

    转自https://www.cnblogs.com/devilyouwei/p/6293190.html mui弹出输入法遮住input表单元素   问题如下:当我用mui开发app时,在mui-sc ...

  4. javascript总结39:DOM 中常用的表单元素的属性

    1 常用操作元素: value 用于大部分表单元素的内容获取(option除外) type 可以获取input标签的类型(输入框或复选框等) disabled 禁用属性 checked 复选框选中属性 ...

  5. jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

    1.表单验证插件——validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:   $(form).validate({o ...

  6. input表单元素的默认padding不一致问题

    最近做的项目,发现一堆问题,input type=“text”和type=“button” (1)在无文字的时候高度是一致的,分别写入相同大小的文字type=“button”高度>type=“t ...

  7. vue 自定义指令input表单的数据验证

    一.代码 <template> <div class="check" > <h3>{{msg}}</h3> <div clas ...

  8. .net网站开发(一):1.input表单元素

    其实,在半年前我对网站开发还是完全不感冒的,不是没认识,而是只认识到表面.我以为网站模型就那几样,新闻.论坛.博客啥的,仿个站出来有什么意思?但现在我是知道了,大多应用开发还是采用B/S架构的,包括服 ...

  9. html表单元素及表单元素详解

    原文 https://www.jianshu.com/p/b427daa8663d 大纲 1.认识表单 2.认识表单元素 3.表单元素的分类 4.表单元素——文本框 5.表单元素button 6.表单 ...

随机推荐

  1. matplotlib | Python强大的作图工具,让你从此驾驭图表

    今天是数据处理专题的第9篇文章,在之前的8篇文章当中我们已经介绍完了pandas这个库的一些基本用法,我们先把一些冷门的高级用法放一放,先来给大家介绍一下另外一个很有用的数据分析库--matplotl ...

  2. linux下ftp如何使用

    linux下ftp可以上传.下载文件 centos7环境: 1.检查是否安装过ftp服务 rpm -qa|grep vsftpd 如果没有输出则表示没有安装过 安装ftp yum -y install ...

  3. oracle数据处理之exp/imp

    oracle 导出/导入数据方法一 exp/imp工具:1 将数据库oracle01完全导出,DBA:sys,密码:123456:用户名Scott 密码123456 导出到D:\emp.dmp中 ex ...

  4. 吴恩达《深度学习》-课后测验-第一门课 (Neural Networks and Deep Learning)-Week 2 - Neural Network Basics(第二周测验 - 神经网络基础)

    Week 2 Quiz - Neural Network Basics(第二周测验 - 神经网络基础) 1. What does a neuron compute?(神经元节点计算什么?) [ ] A ...

  5. swift基本数据类型使用-数组使用

    目录 数组的使用 1.数组的定义 2.对可变数组的基本操作 3.数组的遍历 4.数组的合并 5. 示例 数组的使用 1.数组的定义 1> 定义不可变数组 2> 定义可变数组 2.对可变数组 ...

  6. 乔悟空-CTF-i春秋-Web-SQLi

    2020.09.05 今天注定是高产的一天,这题真是坑,不看wp真的不会做,现在回头来复习一遍. 做题 题目 题目地址 做题 这题坑人的地方就在于重定向了两次,并且重要信息在第一次里藏着,第二次还给了 ...

  7. hystrix源码小贴士之Servo Publisher

    HystrixServoMetricsPublisher 继承HystrixMetricsPublisher,创建HystrixServoMetricsPublisherCommand.Hystrix ...

  8. hystrix源码小贴士之中断

    execution.isolation.thread.interruptOnCancel可以设置当cancellation发生时是否需要中断.通过Future的cancel方法和线程的中断方法来实现是 ...

  9. hystrix熔断器之metrics

    Metric概述 HystrixCommands和HystrixObservableCommands执行过程中,会产生执行的数据,这些数据对于观察调用的性能表现非常有用. 命令产生数据后,Metric ...

  10. session安全&&CBC字符反转攻击&&hash拓展攻击

    session安全 p神写的: 在传统PHP开发中,$_SESSION变量的内容默认会被保存在服务端的一个文件中,通过一个叫"PHPSESSID"的Cookie来区分用户.这类se ...