前言:最近在做一个网站,为了统一风格,需要自定义checkbox的样式。所以花了点时间参考了 研究了一下。感觉上面的方法略微麻烦。所以自己重新写了下面的代码,欢迎大家指教。同时,感谢w3cplus提供的原始教程和图片。

(1)主要的原理是:

  使用clip属性,将checkbox的默认显示框隐藏,然后,使用bg.png 中的图片来显示他的状态(选中/未选中);当每一次点击时,jquery检查是否选中,如果未选中,则将图片替换为选中状态;否,则相反。(目测,比w3cplus上的代码少了一些。)

在这里就不写radio的样式了。毕竟大同小异。详细建议点击 w3cplus 。

(2)效果图如下:

点击前:

点击后:

(3)主要代码(最后有一个源码链接):

  主要的HTML代码:

<form >
<label for="checkbox_1"><input type="checkbox" id="checkbox_1" value="1">第一个选项</label>
<label for="checkbox_2"><input type="checkbox" id="checkbox_2" value="2">第二个选项</label>
</form>

  接下去是CSS样式:

<style type="text/css">
form {
width: 300px;
margin:20px auto;
padding: 20px;
background-color: #0064cd;
display: relative; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
background-image: -webkit-linear-gradient(#049cdb, #0064cd);
-webkit-border-r+adius: 10px;
-moz-border-radius: 10px;
-khtml-border-radius: 10px;
border-radius: 10px;
-webkit-box-shadow: 0 5px 12px rgba(0,0,0,.4);
-moz-box-shadow: 0 5px 12px rgba(0,0,0,.4);
-khtml-box-shadow: 0 5px 12px rgba(0,0,0,.4);
box-shadow: 0 5px 12px rgba(0,0,0,.4);
} label{
display: block;
margin: 20px;
padding: 0px 25px;
height: 1.5em;
background: url("bg.png") no-repeat;
background-position: 0 -100px;
overflow: hidden;
}
label.check{
background-position: 0 -150px;
} label input{
position: absolute;
clip: rect(0 0 0 0);
} </style>

  最后是jquery代码:

<script src="jquery-1.9.0.min.js"></script>
<script type="text/javascript">
$(function(){
$("label").click(function(){
if ($(this).hasClass("check")) {
$(this).removeClass("check");
return false;
}else{
$(this).addClass("check");
return false;
} });
}); </script>

附:下载地址:http://vdisk.weibo.com/s/sYYrp7G62yQT

自定义 checkbox 样式的更多相关文章

  1. WPF 自定义CheckBox样式

    自定义CheckBox样式,mark一下,方便以后参考复用 设计介绍: 1.一般CheckBox模板太难看了,肯定要重写其中的模板 2.模板状态为未选中状态和选中状态,设置为默认未选中就好了. 默认状 ...

  2. 自定义checkbox样式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Android之自定义checkbox样式

    大部分情况下,我们在UI中并不采用Android自带的checkbox复选框样式,这时候就需要我们自定义自己的checkbox. 首先找两张checkbox背景图片,比如下图样子的: 然后在drawa ...

  4. [转]Android中自定义checkbox样式

    android中自定义checkbox的图片和大小   其实很简单,分三步: 1.在drawable中创建文件checkbox_selector.xml: <?xml version=" ...

  5. 【CSS】自定义checkbox样式

    修改原生checkbox样式. 效果 原理 1.利用CSS3属性 appearance. 该属性(强制)更改(改变)默认(原生)样式. Firefox 支持替代的 -moz-appearance 属性 ...

  6. bootstrap table 自定义checkbox样式

    //css <style> .checkbox-custom { position: relative; padding: 0 15px 0 25px; margin-bottom: 7p ...

  7. 利用伪元素before实现自定义checkbox样式

     原理:label标签的for属性可以将文字与复选框进行关联,点击文字可以同时将复选框选中. 隐藏checkbox标签,利用label标签的before伪元素来实现自定义样式.设置before伪元素的 ...

  8. Android 自定义CheckBox 样式

    新建Android XML文件,类型选Drawable,根结点选selector,在这定义具体的样式. <?xml version="1.0" encoding=" ...

  9. Android 自定义CheckBox样式

    1.首先在drawable文件夹中添加drawable文件checkbox_style.xml. <selector xmlns:android="http://schemas.and ...

随机推荐

  1. 解决linux下tomcat停止进程任存在问题

    解决linux下tomcat停止进程任存在问题 在Linux下(之所以强调linux下,是因为在windows下正常),执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访 ...

  2. POJ1258 Agri-Net 2017-04-14 15:51 55人阅读 评论(0) 收藏

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 56948   Accepted: 23615 Descri ...

  3. Java定时任务的实现

    本例依据Java自身提供的接口实现,通过监听器(Listener)和定时器(Timer)定时执行某个任务(Task).专业的开源工具可参考Quartz:http://www.opensymphony. ...

  4. linux apache安装https证书

    1.首先查看是否安装apache 命令:rpm -qa|grep httpd 如果存在,卸载命令:rpm -e XXXX 如果不存在,安装命令:yum install httpd 安装完apache之 ...

  5. SQL字符串分割转列,Sql列转字符串

    declare @strVar varchar(2000)declare @ResultVar varchar(2000)set @ResultVar='[薄饼],[点心],[海鲜],[酒吧],[楼面 ...

  6. 浅析Object基类提供的Equals方法

    当我们去查看object.cs源代码文件的时候,会发现object基类提供了三种判断相等性的方法.弄清楚每种方法存在的原因,也就是具体解决了什么问题,对我们理解.net判断对象相等性的逻辑很有帮助,下 ...

  7. VisualStudio2017 远程 调试 IIS 服务器 web网站

    小伙伴们,本次测试好好的程序发布到服务器挂到IIS后我勒个*,,, 神马情况,为啥和我本地运行结果不一致,Fuc*... 没遇到的小伙伴估计也看不到此篇文章了吧,Log日志调试,嗯 不错,good i ...

  8. 没有xaml的WPF

    出于强迫症,我查了一下文档弄明白了WPF脱离xaml应该怎么搞.当然其实本质是为了MaxScript里使用做准备. using System; using System.Windows; using ...

  9. 七、linux目录结构知识---实战

    1.企业面试题:一个100M的磁盘分区,分别写入1k文件,及写入1M的文件,分别可以写多少个? 一块磁盘被分区格式化成系统文件后,有Inode和Block:一个文件一般占用一个Inode和一个Bloc ...

  10. 服务器变量 $_SERVER 详解

    摘抄:http://ha.cker.in/942.seo 1.$_SESSION[‘PHP_SELF’] — 获取当前正在执行脚本的文件名 2.$_SERVER[‘SERVER_PROTOCOL’] ...