分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

纯css 实现自定义checkbox复选框

发布时间:2023-09-06 02:13责任编辑:胡小海关键词:checkbox

话不多说,直入主题。众所周知原生的checkbox复选框、radio单选按钮、select选择框,不同浏览器差别较大,最重要的一点是不怎么好看,如果直接拿原生用,可能会影响整体的美观。项目中用的第三方UI这些都已经很完备,但是在小型项目不想采用第三方UI或者使用的是Bootstrap等没有定制的checkbox样式时,就需要自己去做一个对应的复选框了。本次本着让你改动最小的情况下用纯CSS做了一个相对美观的checkbox复选框。如下图:

 下面直接放代码:

HTML部分:

<label for="my_checkboc"> ??????????????????<input type="checkbox" id="my_checkboc" class="my_checkbox"> ???????<!--增加的一个自定义复选框元素span只要在其上应用样式--> ???????<span class="new_checkbox"></span> ????????复选框1</label>

注意,这个HTML结构,label标签最外层,里面包含一个原生checkbox和一个需要自定义样式的span,用来定义checkbox样式。

CSS部分:

label { ???position: relative;}label .new_checkbox { ???display: block; ???width: 14px; ???height: 14px; ???border: 1px solid #d9d9d9; ???border-radius: 2px; ???background-color: #fff; ???position: absolute; ???top: 4px; ???left: 2px; ???z-index: 1; ???cursor: pointer; ???-webkit-transition: all .2s; ???transition: all .2s;}label .new_checkbox:hover { ???border-color: #1890ff;}.my_checkbox { ???opacity: 0;}.my_checkbox:checked+span { ???border-color: #1890ff; ???background-color: #1890ff;}/*关联checkbox的值*/.my_checkbox:checked+span::before { ???content: ""; ???display: block; ???width: 6px; ???height: 10px; ???border-bottom: 2px solid #fff; ???background-color: #1890ff; ???border-right: 2px solid #fff; ???transform: rotate(45deg); ???position: absolute; ???top: 0; ???left: 4.5px; ???box-sizing: border-box;}

定义好span的样式,定位到合适的位置,对原来的checkbox设置透明的为0,这样样式部分就可以了。下一步就是把点击选中加进去。由于lable和checbox时绑定的,故点击label区域,即可将改checkbox选中,此时需要对自定义的span添加选中样式即可。用css “+”选择器,如代码中所示,在checkbox选中时,其后一个span元素将会添加:before伪类,显示选中的图标。图中的选中对勾图标为只有有边框和下边框的长方体旋转而成。

如有疑问请留言,这个时暂时这样写,后面会更新,以及相关的纯css打造的radio复选框和js打造的select单选框,供大家参考。

纯css 实现自定义checkbox复选框

原文地址:https://www.cnblogs.com/websharehome/p/9594088.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved