Html中CSS样式实现开关按钮

web前端技术实现在html css样式实现开关按钮。

效果图

Html中CSS样式实现开关按钮-上流阁

样式与html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.btn-switch {
cursor: pointer;
width: 52px;
height: 31px;
position: relative;
border: 1px solid #dfdfdf;
background-color: #fdfdfd;
box-shadow: #dfdfdf 0 0 0 0 inset;
border-radius: 20px;
background-clip: content-box;
display: inline-block;
-webkit-appearance: none;
user-select: none;
outline: none !important;
}

.btn-switch.large {
width: 70px;
height: 30px;
border-radius: 30px;
}

.btn-switch.large:before {
content: '';
width: 28px;
height: 28px;
border-radius: 30px;
}

.btn-switch.large:after {
content: '关闭';
color: #999;
left: 30px;
position: absolute;
line-height: 30px;
font-size: 14px;
}

.btn-switch.large:checked:after {
content: '开启';
color: #fff;
left: 10px;
position: absolute;
line-height: 30px;
font-size: 14px;
}

.btn-switch.large:checked:before {
left: 40px;
}

.btn-switch:before {
content: '';
width: 29px;
height: 29px;
position: absolute;
top: 0px;
left: 0;
border-radius: 20px;
background-color: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.btn-switch:checked {
border-color: #64bd63;
box-shadow: #64bd63 0 0 0 16px inset;
background-color: #64bd63;
}

.btn-switch:checked:before {
left: 21px;
}

.btn-switch.btn-switch-animbg {
transition: background-color ease 0.4s;
}

.btn-switch.btn-switch-animbg:before {
transition: left 0.3s;
}

.btn-switch.btn-switch-animbg:checked {
box-shadow: #dfdfdf 0 0 0 0 inset;
background-color: #64bd63;
transition: border-color 0.4s, background-color ease 0.4s;
}

.btn-switch.btn-switch-animbg:checked:before {
transition: left 0.3s;
}

.btn-switch.btn-switch-anim {
transition: border cubic-bezier(0, 0, 0, 1) 0.4s, box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
}

.btn-switch.btn-switch-anim:before {
transition: left 0.3s;
}

.btn-switch.btn-switch-anim:checked {
box-shadow: #64bd63 0 0 0 16px inset;
background-color: #64bd63;
transition: border ease 0.4s, box-shadow ease 0.4s, background-color ease 1.2s;
}

.btn-switch.btn-switch-anim:checked:before {
transition: left 0.3s;
}

input[type=checkbox]:checked::before {
font: normal normal normal 14px/2 FontAwesome;
}
</style>
</head>
<body>
<label><input class="btn-switch large" type="checkbox" value="" checked=""></label>
</body>
</html>

*文章为作者独立观点,不代表上流阁立场
本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/web/2016/11/06/638.html
发表评论

4 条评论
  • 椅子 aoko 

    请问如何改变开关在页面的位置

  • 沙发  

    这个要是想保存数据库在后端 需要记录对应项的开启或者关闭的信息 后台怎么写控制之类的

    • 江风成
      江风成 

      这个主要是 true 和false 后台如果想存别的东西可以根据返回值替换,记得没错的话好像可以设置value 什么的

相关文章
vue中axios 插件上传blob资源
vue中axios 插件上传blob资源
html用css实现关闭文本框输入法切换输入法
html用css实现关闭文本框输入法切换输入法
html5手机端播放器可拖动播放自定义播放器
html5手机端播放器可拖动播放自定义播放器
Web前端html5网页three.js、earth会转动的地球
Web前端html5网页three.js、earth会转动…
jQuery on()动态加载点击事件失效
jQuery on()动态加载点击事件失效
thinkphp PHPExcel导入到数据库,插入空白数据的解决方案
thinkphp PHPExcel导入到数据库,插入空…
javaweb开发程序员php开发,微信开发。接受定制开发

最新评论