修改checkbox样式

效果如下:

点击之后:

代码如下:

<span style="font-size:14px;"><!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>testCheck</title>
    <style type="text/css">
        input[type=checkbox] {
            position: relative;
            width: 10px;
            height: 1px;
        }
        input[type=checkbox]::before{
            content:'';
            position: absolute;
            top: 0;
            left: 0;
            width: 22px;
            height: 22px;
            line-height:22px;
            text-align: center;
            color:white;
            font-size:16px;
            background-color:#999;
            border-radius: 4px;
        }
        input[type=checkbox]:checked::before {
            color:white;
            background-color:red;
            content: '中';
        }
    </style>
</head>

<body>
<input type="checkbox"/>
</body>
</html></span>

稍微解释一下:

其实checkbox的样式还是浏览器的原始样式,只是它的大小和位置改了一下,然后在它的上面(::before)重画了一个假象。


--------------------------------------------------------------------  以下为 2017/1/17 更新 --------------------------------------------------------------------

预备素材:

两张图片,分别为正常状态和选中状态的样式。



效果如下:

点击之后:


代码如下:

<html>  
<head>  
    <meta charset="UTF-8">  
    <title>testCheck</title>  
    <style type="text/css">  
    input[type=checkbox] {  
        position: relative; 
    }  
    input[type=checkbox]::before{  
        content:'';  
        position: absolute;  
        width: 18px;  
        height: 18px;  
        background: url("check.png") no-repeat;  
    }  
    input[type=checkbox]:checked::before {  
        background: url("checked.png") no-repeat;
        content: '';  
    }  
    </style>  
</head>  

<body>  
    <input id="test" type="checkbox"/>
</body>
</html>

测试是否可用:


可以通过 document.getElementById('test').checked 来判断该复选框是否被选中


posted @ 2016-11-08 21:40  Mr.Kay  阅读(528)  评论(0编辑  收藏  举报