美文网首页
样式(4) -- checkbox4

样式(4) -- checkbox4

作者: 卡拉咖啦 | 来源:发表于2019-10-19 18:53 被阅读0次

preview

demo预览

checkbox4

description

1.可自定义:
按钮大小 : checkboxSize,支持 em, vw, px
宽高比 : checkboxWidthTimes
动画时长 : switchingTimeCost
间隙大小 : interspace
边框大小 : checkboxBorderSize
主题颜色 : checkboxColorForOFF / checkboxColorForON

2.这个按钮样式与 checkbox2 类似。

scss

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

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

$checkboxSize: 20px;
$checkboxWidthTimes: 2.5;
$switcherWidthTimes: 1.3; /* 可以是椭圆形的内部按钮,可自行设置宽高比 */
$checkboxWidth: $checkboxWidthTimes * $checkboxSize;
$switcherWidth: $checkboxSize * $switcherWidthTimes;
$checkboxColorForOFF: #f2f2f2;
$checkboxColorForON: #7FC6A6;

$interspace: 3px; /* 按钮与背景边框间隙大小 */
$checkboxBorderSize: 4px;
$switchingTimeCost: 0.2s;

.checkboxWrapper {
  width: $checkboxWidth;
  height: $checkboxSize;
  position: relative;

  & label {
    display: block;
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    width: $checkboxWidth + 2 * $interspace;
    height: $checkboxSize + 2 * $interspace;
    box-sizing: content-box;
    border-radius: $checkboxWidth;
    transition: all $switchingTimeCost ease;
    overflow: hidden;
    border: $checkboxBorderSize solid $checkboxColorForOFF;

    &::after {
      content: "";
      width: $switcherWidth;
      height: $checkboxSize;
      background-color: $checkboxColorForOFF;
      transition: left $switchingTimeCost ease;
      border-radius: 2 * $switcherWidth;
      position: absolute;
      top: $interspace;
      left: $interspace;
    }
  }

  & input:checked + label{
    border-color: $checkboxColorForON;
    &::after{
      left: $checkboxWidth - $switcherWidth + $interspace;
      background-color: $checkboxColorForON;
    }
  }

  & input {
    display: none;
  }
}

相关文章

  • 样式(4) -- checkbox4

    preview demo预览 description 1.可自定义:按钮大小 : checkboxSize,支持 ...

  • react-native样式表写法

    1.内嵌样式 2.对象样式 3.内部样式 4.外部样式 5.混合样式

  • 三.1、CSS样式引入方式

    CSS样式引入方式 1、内部样式: 2、外部样式表: 3、嵌入样式: 4、导入样式: link 和 @import...

  • html样式,链接,表格,表单

    1,HTML样式:样式是 HTML 4 引入的,通过 HTML 样式,能够通过使用 style 属性直接将样式添加...

  • 2018-11-20

    样式层叠次序:1.元素内嵌样式2.文档内嵌样式3.外部样式4.用户样式5.浏览器样式在样式属性值后面附上!impo...

  • ionic4 全局样式文件路径配置

    ionic4 全局样式文件路径配置 从ionic3 升级到ionic4 后会遇到之前定义的全局样式和样式函数无法正...

  • openpyxl的样式设置

    1.字体样式 2.对齐样式 3边框 4填充 常见颜色

  • CSS

    一、CSS样式 外链样式: 页内样式: 行内样式: 二、CSS选择器: 4种基础选择器:标签选择器、class选择...

  • HTML2

    CSS的样式1.内置样式,就是html文件在标签上的默认的样式2.外部样式引入 3.内部样式表 各种选择器 4.内...

  • css基础知识

    css: 1:浏览器缺省设置 2:外部样式表 3:内部样式表(位于head标签内部) 4:内联样式(位...

网友评论

      本文标题:样式(4) -- checkbox4

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