纯CSS实现扁平化风格开关按钮
2024-09-01 09:29:58
开关样式预览图
前言
最近在基于bootstrap框架开发一个网站,在填写表单一项需要用户填写是否选择某一选项,本来想引用bootstrap框架自带的一个按钮插件,结果在引用js的时候总是出错,就找了找资源,用纯css实现这个按钮开关的功能。
具体代码过程
话不多说,直接上代码实现!
html代码部分
<div class="control-group">
<label class="control-label">是否选择:</label>
<div class="checkbox">
<input type="checkbox" class="toggle" checked="checked" id="isnot" />
<label for="isnot"></label>
</div>
</div>
css代码部分
input[type=checkbox] {
visibility: hidden;
}
.checkbox {
width: 120px;
height: 30px;
background: #FFF;
margin: 1px 1px;
border-radius: 10px;
position: relative;
}
.checkbox:before {
content: '是';
position: absolute;
top: 12px;
left: 16px;
height: 2px;
/*color: #26ca28;*/
color: #4baa34;
font-size: 16px;
/*font-weight:bold;*/
}
.checkbox:after {
content: '否';
position: absolute;
top: 12px;
left: 80px;
height: 2px;
color: #ddd;
font-size: 16px;
/*font-weight:bold;*/
}
.checkbox label {
display: block;
width: 40px;
height: 22px;
border-radius: 50px;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-o-transition: all .5s ease;
-ms-transition: all .5s ease;
transition: all .5s ease;
cursor: pointer;
position: absolute;
top: 9px;
z-index: 1;
left: 12px;
background: #ddd;
}
.checkbox input[type=checkbox]:checked + label {
left: 62px;
/*background: #26ca28;*/
background: #4baa34;
}
js代码部分
if ($("#isnot").attr('checked')) {var isnot=1}else{var isnot=0};
通过jq获取按钮是否被选中的值,ajax传给后台php进行数据的处理,完成数据库的操作
jq获取按钮是否被选中的值
小结
一点小心得,自己开发时间不长,感觉在开发过程中最怕遇到一时半会解决不了的问题,尤其还有新的知识点需要掌握的时候,比如这个问题,在js代码和关于bootstrap框架js引入的,和bootstrap摸态框的处理机制上费了很多功夫,最后也不是很明白,导致这个功能一直没有实现,最后在网上查了相关信息和代码,决定直接绕过js,用纯的css来实现,最后只是引入了css,少引入了框架里的几个js,既解决了问题,也提高了代码的执行效率。
最新文章
- hdu 4547(LCA)
- IDF实验室:倒行逆施
- BackTrack5-r3硬盘安装
- PHP 文件迭代器
- Git简单使用
- JAVA GUI之CardLayout
- javascript之Style物
- 存储过程的参数问题与C#中的调用
- Spark集群搭建步骤
- Token注解防止表单的重复提交
- Extjs4新特性
- nyoj_239:月老的难题@_@(二分图匹配基础题)
- .Net C# 串口 Serialort safe handle has been closed 问题的解决
- H5页面长按导致app崩溃问题解决
- 关于MySQL中的8个 character_set 变量
- 快速体验 Laravel 自带的注册、登录功能
- 前端学习 之 Bootstrap(二)
- 题解-APIO2010 特别行动队
- /debug/requests is already registered. You may have two independent copies of golang.org/x/net/trace in your binary, trying to maintain separate state. This may involve a vendored copy of golang.org/x
- 如何做适合seo的404页面
热门文章
- python面试_总结03_列表练习题
- 一个更好用的.NET Core程序瘦身器,减小程序尺寸到1/3
- python+pytest接口自动化(6)-请求参数格式的确定
- chrome浏览器添加JSON插件
- PHP中http_build_query函数&#215;tamp自动转化为&#215;的解决办法
- Laravel-QueryList-采集
- 跨平台书签同步-Xmarks
- LGP3092题解
- CF1428B题解
- 分布式 PostgreSQL 集群(Citus),官方快速入门教程