label+input实现按钮开关切换效果的实例


Posted in Javascript onAugust 16, 2017

代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .ipt {
      display: none;
    }
    .box {
      width: 74px;
      height: 30px;
      line-height: 30px;
      overflow: hidden;
      border: 1px solid #eee;
      border-radius: 4px;
      position: relative;
      cursor: pointer;
    }
    label {display:inline-block;}
    .ipt:checked + .box .switch-btn {
      left: 0;
    }
    .switch-btn {
      position: absolute;
      left: -37px;
      top: 0;
      width: 111px;
      height: 30px;
      transition: all 0.5s;
    }
    .switch-btn span{
      width: 37px;
      height: 30px;
      display: block;
      text-align: center;      
      float: left;
      font-size: 14px;
    }
    .on {
      background: #52B13C;
      color: white;
    }
    .white {
      background: white;
    }
    .off {
      background: #EEEEEE;
    }
  </style>
</head>
<body>
  <p>主要使用label+input来实现改变left的值,下面是核心代码,意思就是<code>选中的input的兄弟节点.box下的.switch-btn元素的left会变成0px(原来是-37px);</code></p>
  <pre>
    .ipt:checked + .box .switch-btn {
      left: 0;
    }
  </pre>
  <p>当然要配合transition来实现</p>
  <p>下面是效果</p>
  <div class="wrap">
    <label>
      <input class="ipt" type="checkbox" name="" value="">
      <div class="box">
        <div class="switch-btn">
          <span class="on">ON</span>
          <span class="white"></span>
          <span class="off">OFF</span>
        </div>
      </div>
    </label>
  </div>
  <p>全部css代码</p>
  <pre>
      .ipt {
        display: none;
      }
      .box {
        width: 74px;
        height: 30px;
        line-height: 30px;
        overflow: hidden;
        border: 1px solid #eee;
        border-radius: 4px;
        position: relative;
        cursor: pointer;
      }
      .ipt:checked + .box .switch-btn {
        left: 0;
      }
      .switch-btn {
        position: absolute;
        left: -37px;
        top: 0;
        width: 111px;
        height: 30px;
        transition: all 0.5s;
      }
      .switch-btn span{
        width: 37px;
        height: 30px;
        display: block;
        text-align: center;      
        float: left;
        font-size: 14px;
      }
      .on {
        background: #52B13C;
        color: white;
      }
      .white {
        background: white;
      }
      .off {
        background: #EEEEEE;
      }
  </pre>
</body>
</html>

以上这篇label+input实现按钮开关切换效果的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
select、radio表单回显功能实现避免使用jquery载入赋值
Jun 08 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 Javascript
js window对象属性和方法相关资料整理
Nov 11 Javascript
JavaScript获取URL中参数querystring的方法详解
Oct 11 Javascript
详解JavaScript树结构
Jan 09 Javascript
浅谈angularJS的$watch失效问题的解决方案
Aug 11 Javascript
vue 里面使用axios 和封装的示例代码
Sep 01 Javascript
node下使用UglifyJS压缩合并JS文件的方法
Mar 07 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
bootstrap modal+gridview实现弹出框效果
Aug 15 #Javascript
vue实现点击图片放大效果
Aug 15 #Javascript
jquery获取链接地址和跳转详解(推荐)
Aug 15 #jQuery
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 #Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 #jQuery
Vue组件通信实践记录(推荐)
Aug 15 #Javascript
js移动端事件基础及常用事件库详解
Aug 15 #Javascript
You might like
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
js断点调试经验分享
2017/12/08 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
大学在校生求职信范文
2013/11/21 职场文书
物流管理专业应届生求职信
2013/11/21 职场文书
转党组织关系介绍信
2014/01/08 职场文书
《母鸡》教学反思
2014/02/25 职场文书
父亲节活动总结
2015/02/12 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
小学班主任工作随笔
2015/08/15 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis