美文网首页
样式(7) -- checkbox7

样式(7) -- checkbox7

作者: 卡拉咖啦 | 来源:发表于2019-10-22 20:42 被阅读0次

preview

demo预览

checkbox7

description

1.可调节数据:

$checkboxSize: 3em;
$checkboxWidthTimes: 3;
$checkboxFontSizeTimes: 0.6;
$checkboxFontSize: $checkboxSize * $checkboxFontSizeTimes;
$checkboxWidth: $checkboxSize * $checkboxWidthTimes;
$checkboxBackgroundColorForOFF: tomato;
$checkboxBackgroundColorForON: limegreen;
$checkboxTextForOFF: "OFF";
$checkboxTextForON: "ON";
$toggleSpeed: 0.3s;

2.详细描述
1)第一个 checkbox 用一个 div 就可以实现内容遮挡;
2)第二个 checkbox 用两个 div 遮挡两边,中间显现;

scss

/*html
<div class="checkboxWrapper">
    <input type="checkbox" value="" id="myCheckbox" name="slide" checked>
    <label for="myCheckbox">
      <div class="slideCard"></div>
    </label>
</div>

<br />
<br />

<div class="checkboxWrapper2">
    <input type="checkbox" value="" id="myCheckbox2" name="slide" >
    <label for="myCheckbox2">
      <div class="slideCardForOFF"></div>
      <div class="slideCardForON"></div>
    </label>
</div>
*/


* { padding: 0; margin: 0; box-sizing: border-box; }
*::before, *::after{ box-sizing: border-box; }

$checkboxSize: 3em;
$checkboxWidthTimes: 3;
$checkboxFontSizeTimes: 0.6;
$checkboxFontSize: $checkboxSize * $checkboxFontSizeTimes;
$checkboxWidth: $checkboxSize * $checkboxWidthTimes;
$checkboxBackgroundColorForOFF: tomato;
$checkboxBackgroundColorForON: limegreen;
$checkboxTextForOFF: "OFF";
$checkboxTextForON: "ON";
$toggleSpeed: 0.3s;


.checkboxWrapper {
  display: block;
  width: $checkboxWidth;
  height: $checkboxSize;
  line-height: $checkboxSize;

  & label{
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: relative;

    & .slideCard, &::before, &::after {
      position: absolute;
      height: 100%;
      width:  50%;
      text-align: center;
    }

    &::before, &::after {
      content: $checkboxTextForON;
      font-size: $checkboxFontSize;
    }
    &::before {
      left: 0;
    }
    &::after {
      right: 0;
      content: $checkboxTextForOFF;
    }

    & .slideCard {
      background-color: $checkboxBackgroundColorForOFF;
      transition: all $toggleSpeed ease;
      z-index: 1;
      left: 0;
    }
  }

  & input {
    display: none;

    &:checked + label .slideCard {
      background-color: $checkboxBackgroundColorForON;
      left: 50%;
    }
  }
}



.checkboxWrapper2 {
  display: block;
  width: $checkboxWidth;
  height: $checkboxSize;
  line-height: $checkboxSize;

  & label{
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: relative;

    & .slideCardForOFF, & .slideCardForON, &::before, &::after {
      position: absolute;
      height: 100%;
      width:  50%;
      text-align: center;
      transition: all $toggleSpeed ease;
    }

    &::before, &::after {
      content: $checkboxTextForON;
      font-size: $checkboxFontSize;
    }
    &::before {
      left: 0;
    }
    &::after {
      right: 0;
      content: $checkboxTextForOFF;
    }

    & .slideCardForOFF {
      background-color: $checkboxBackgroundColorForOFF;
      left: 0;
      width: 50%;
      z-index: 1;
    }

    & .slideCardForON {
      background-color: $checkboxBackgroundColorForON;
      right: 0;
      z-index: 1;
      width: 0;
    }
  }

  & input {
    display: none;

    &:checked + label .slideCardForOFF {
      width: 0;
    }
    &:checked + label .slideCardForON {
      width: 50%;
    }
  }
}

素材参考:https://codepen.io/bennettfeely/pen/LKjmA

相关文章

  • 样式(7) -- checkbox7

    preview demo预览 description 1.可调节数据: 2.详细描述1)第一个 checkbox ...

  • 7 .HTML样式

    一.HTML的style属性 style属性的作用: 提供了一种改变所有HTML元素的样式的通用方法。 二.不赞成...

  • CSS笔记3:样式属性

    7. 尺寸样式属性 8. 文本属性 9. 字体属性 10. 列表样式属性 例如:

  • CSS选择器

    1.语法: 2.内联样式: 3.内部样式表: 4.引用外部样式表 样式表: 5.块和内联: 6.伪元素: 7.否定...

  • AlertDialog基本使用

    1,默认样式 2,两个按钮样式 3,三个按钮样式 4,列表选择 5,单选列表 6,多选列表 7,使用适配器 8,自...

  • CSS基础样式(7)

    饥人谷学习第7天 CSS常见样式 块级元素行内元素 块级(block-level)、行内(内联、inline-le...

  • 前端笔记(3)

    代码:(1)列表 (2)单位 (3)字体的样式 (4)字体的分类 (5)字体的其它样式 (6)文本标签 (7)文本...

  • 获取页面所有img标签 css批量设置

    找到页面上所有的img标签 批量修改样式 兼容IE 6 7 8 的设置样式 function setStyle(e...

  • day03

    今天学到什么 1.文本修饰 2.链接 3.列表样式 4.边框样式 5.表格 6.轮廓 7.透明度 8.样式继承 9...

  • day07

    今天学到了什么? 1.布局 2.css样式的引入 3.外部样式 4.路径 5.width,height继承 6 7...

网友评论

      本文标题:样式(7) -- checkbox7

      本文链接:https://www.haomeiwen.com/subject/jtycvctx.html