自定义复选框、单选按钮外观方法。支持IE、Firefox、chrome

这篇博客介绍了如何自定义复选框和单选按钮的外观,包括支持IE浏览器的方法,通过jQuery插件实现,以及无需支持IE的轻量级CSS3解决方案。文章提供了代码示例和兼容性测试,还分享了一个包含全选功能的jquery.checker.js插件下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上图


一、支持IE的方法

由于IE浏览器不支持CSS appearance ,所以为了支持IE只能将实际的input隐藏,使用div来显示外观,然后保证div外观和input的状态保持一致即可。为此我将代码封装成了jquery插件,并为其加入全选按钮的功能,欢迎下载使用,下载链接在本文最后。

实测插件支持chrome 、Firefox和IE7+。由于本人IE浏览器没有IE6模式,所以没有测试IE6,实际IE6应该也能支持。


二、无需支持IE的方法

无需支持IE浏览器的话,方法就轻量多了。使用CSS appearance属性清除input原来的样式,就可以肆意添加你所希望的样式了,然后使用:active来添加input按下时的样式,使用:checked来添加input选中后的样式,代码示例如下:

input[type="checkbox"]{
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   outline: none;
   display: inline-block;
   vertical-align: middle;
   width: 36px;
   height: 36px;
   border-radius: 18px;
   background-image: url(images/icon-checked.png);
   background-size: 100% auto;
   box-sizing:border-box;
   background-position: 0 0;
   background-color: white;
   border:solid 4px #bbb;
}

/*复选框鼠标按下时增加的样式*/
input[type="checkbox"]:active{
   background-color: rgb(100,100,100);
}

/*复选框选中后增加的样式*/
input[type="checkbox"]:checked{
   background-position: 0 -36px;
   background-color: #e1a656;
   border: 0;
}
/*复选框选中后增加的样式*/
input[type="checkbox"]:checked:active{
   background-color: rgb(100,100,100);
}
您也可以将插件包下载下来,在里面的demo2.html可以看到完整的代码案例,案例中也加入了全选按钮的功能。

这里有一个问题,就是Firefox虽然支持CSS appearance属性,但是复选框和单选按钮添加 -moz-appearance: none并不能将原有样式清除,所以此方法实际是不能支持IE和Firefox的。但是应用在移动端,该方法还是很nice的!


点此下载插件jquery. checker.js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值