zoukankan      html  css  js  c++  java
  • 自定义 checkbox 样式

    前言:最近在做一个网站,为了统一风格,需要自定义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

  • 相关阅读:
    在vue中使用 layui框架中的form.render()无效解决办法
    Week03面向对象入门
    Week04面向对象设计与继承
    JAVA暑假作业
    Week02Java基本语法与类库
    201621123082《Java程序设计》第1周学习总结
    利用Asp.net中的AJAX制作网页上自动选取开始日期及结束日期的用户自定义控件
    错误 1 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的
    Log4net日志记录、详细配置(自己使用)
    利用队列记录错误日志
  • 原文地址:https://www.cnblogs.com/scutwang/p/3325434.html
Copyright © 2011-2022 走看看