checkbox 样式美化

更新日期: 2021-11-23阅读: 1.7k标签: 复选框

checkbox美化思路

checkbox无法直接改变样式只能通过连接到label标签来改变checkbox的样式,像checkbox或radio的美化,根本就不用插件了。

思路都一样的,先把之前的按钮透明度opacity设置为0 ,  隐藏掉所有的Checkbox复选框后,我们需要添加一个label html元素,我们都知道,当点击的有for属性的label标签时,对应的Checkbox复选框会被选中。这意味着,我们可以通过label的点击事件来处理我们的Checkbox复选框。

然后就通过设置div的label,伪类等多种方式来实现了美化功能。下面会讲到2种与众不同的checkbox复选框样式。


checkbox美化样式一:


html:

<div class="mycheck">
<input type="checkbox" value="1" id="checkbox1" name="">
<label for="checkbox1"></label>
</div>
<div class="mycheck">
<input type="checkbox" value="1" id="checkbox2" name="">
<label for="checkbox2"></label>
</div>

css

.mycheck {
width:25px;
margin:20px 100px;
position:relative;
}
.mycheck input[type=checkbox] {
visibility:hidden;
}
.mycheck label {
cursor:pointer;
position:absolute;
width:25px;
height:25px;
top:0;
left:0;
background:#fff;
border:2px solid #ccc;
-moz-border-radius:50%;
-webkit-border-radius:50%;
border-radius:50%;
}
.mycheck label:after {
opacity:0;
content:'';
position:absolute;
width:9px;
height:5px;
background:transparent;
top:6px;
left:6px;
border:4px solid #fff;
border-top:none;
border-right:none;
-webkit-transform:rotate(-45deg);
-moz-transform:rotate(-45deg);
-o-transform:rotate(-45deg);
-ms-transform:rotate(-45deg);
transform:rotate(-45deg);
}
.mycheck input[type=checkbox]:checked + label {
background:#f40;
border:2px solid #f40;
}
.mycheck input[type=checkbox]:checked + label:after {
opacity:1;
background:#f40;
}


checkbox美化样式二

checkbox实现开关按钮的样式,如下:


html:

<div class='search_checkbox'>
<input type='checkbox' id='switch'>
<label for='switch'></label>
</div>

css:

.search_checkbox {
margin: 0;
padding: 0;
height: 0.62rem;
width: 1.02rem;
display: flex;
box-sizing: border-box;
}
.search_checkbox input[type=checkbox] {
height: 0px;
width: 0px;
visibility: hidden;
}
.search_checkbox label {
height: 0.62rem;
width: 1.02rem;
cursor: pointer;
/* height: 20px; */
border-radius: 0.5rem;
display: inline-block;
background-color: #C6CAD3;
/* width: 40px; */
text-indent: -99999px;
position: relative;
}
.search_checkbox label::before {
content: '';
display: inline-block;
background-color: #fff;
height: 0.56rem;
width: 0.56rem;
position: absolute;
top: 0.02rem;
left: 0.02rem;
border-radius: 50%;
transition: 0.3s;
}
.search_checkbox input:checked+label {
background: #2BA0FF;
}
.search_checkbox input:checked+label:before {
left: calc(100% - 0.02rem);
transform: translateX(-100%);
}
.search_checkbox label:active:before {
width: 0.4rem;
}

注意点:这里使用的rem,相对布局,根据根元素font-size来确定适配大小的。



链接: https://fly63.com/article/detial/10844

css input checkbox复选框控件 样式美化的多种方案

checkbox复选框可能是网站中常用的HTML元素,但大多数人并不满意它的默认样式,这篇文章就讲讲如何实现input checkbox复选框控件 样式美化效果。::before和::after伪元素的用法

复选框回显 选用prop()不用attr()

设置一个复选框回显示,使用attr()添加checked属性。但是在回显的过程中会使复选框出现混乱的情况有一些并没有回显。如果给他添加一个checked的class就会导致复选框不可点击这种做法是不对的,需要用prop替代

css 实现 checkbox 大小调整

一般调整 checkbox 大小我们想到的是 width、height,可是设置后,发现是没有效的。如微信小程序里面,checkbox 默认就很大,想设置小一点怎么办?

纯css实现checkbox的checked样式

今天使用微信的WEUI的checkbox的时候,发现点击checkbox是有checked和unchecked的变化的,但是想要去获得checkbox的checked状态时,发现event listener里居然没有该checkbox的click之类的事件。

单击label触发checkbox,checkbox触发click

在桌面程序中,checkbox 后面是带文字的,单击文字就会选中或取消选中选择框,点起来很方便,但 HTML 中 checkbox 是干的,单起来非得把鼠标移到那个小小的 checkbox 框框上

javascript如何判断复选框是否选中?

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言。

纯CSS改写radio和checkbox,单选框、复选框样式优化

input 的单选框 radio 和复选框 checkbox 是样式是很难调的,设置背景和边框都不起效。我们可以使用下面的方法进行样式美化:纯CSS就能实现。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!