zoukankan      html  css  js  c++  java
  • css重写checkbox样式

    一、前言

    默认的checkbox长这样:

            <p>
                <span><input type="checkbox" /></span>
                <span>空闲</span>
                <span><input type="checkbox" /></span>
                <span>服务中</span>
            </p>

    有点丑,我想把它变成这样:

    二、实现

    1、checkbox 难看的框框隐藏掉,改用<label>元素连接到checkbox

            <p>
                <input type="checkbox" class="e-selfecheckbox" id="place1">
                <label class="selfecheckbox_label" for="place1">空闲</label>
    
                <input type="checkbox" class="e-selfecheckbox" id="place2">
                <label class="selfecheckbox_label" for="place2">服务中</label>
            </p>
            <style>
                .e-selfecheckbox{
                    display: none;
                }
            </style>

    2、隐藏的框框的用自定义图片来代替

            <style type="text/css">
                .e-selfecheckbox {
                    display: none;
                }
                
                .selfecheckbox_label:before {
                    content: "";
                    display: inline-block;
                    vertical-align: middle;
                    width: 13px;
                    height: 13px;
                    background-image: url(img/scheduling_icon_uncheck2.png);
                    background-size: 100%;
                }
            </style>

    3、给checkbox注册事件,原理就是点击的时候把他替换成另一张图片

            <style type="text/css">
                .e-selfecheckbox {
                    display: none;
                }
                
                .selfecheckbox_label:before {
                    content: "";
                    display: inline-block;
                    vertical-align: middle;
                    width: 13px;
                    height: 13px;
                    background-image: url(img/scheduling_icon_uncheck2.png);
                    background-size: 100%;
                }
                
                /*在e-selfecheckbox元素被选择的时候,将selfecheckbox_label前面的图片替换成另一张*/
                .e-selfecheckbox:checked+.selfecheckbox_label:before {
                    background-image: url(img/scheduling_icon_checked2.png);
                }
            </style>

    4、实现效果

    三、结语

    本来思路是想用js来实现这个功能的——点击的时候替换成另一个图片。结果问了下我们公司的前端,这么一搞,感觉好高大上啊!

    路漫漫其修远兮,吾将上下而求索。

  • 相关阅读:
    DateTime.Now的精度这么高! (转)
    RC4经典加密算法VB版本代码
    反拍卖采购技术的应用
    用C#写 四舍五入函数(函数版)
    CRM(客户关系管理)
    给按钮增加属性
    用C#写 四舍五入函数(原理版)
    合并datagrid中内容相同的单元格(VB.Net)
    DataGrid删除确认及Item颜色交替
    得到目录大小
  • 原文地址:https://www.cnblogs.com/jmcui/p/8535774.html
Copyright © 2011-2022 走看看