首页 >web前端 >html教程 >纯CSS3美化radio和checkbox_html/css_WEB-ITnose

纯CSS3美化radio和checkbox_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:40:471070浏览

如题,主要通过CSS3来实现将radio和checkbox美化的效果,但是兼容性并不是很好,PC端只支持chrome浏览器(IE和Firefox测试不行,其他没有更多测试)。然后微信端和QQ端访问也是正常。由于LZ所做的功能正好只需要在微信端展示,所以并未深入研究。

当然,虽然说不能兼容,但是对于为什么不能兼容还是需要解释一下的,其关键在于这么个选择器的问题:input[type=radio]:before。:beofre这个伪类选择器在主流浏览器中可以在P,span,div等标签插入一些式样,但是在input中就不行,索性chrome支持这一特性,而本实例也正是围绕着一特性进行开发。其他不多说,直接上代码和截图。

效果截图:


HTML代码:

<label for="test1">Test for test1 </label>        <input class="radio" type="radio" id="test1" name="test" value="test1">        <label for="test2">Test for test2 </label>        <input class="radio" type="radio" id="test2" name="test" value="test2">        <br>        <br>        <br>        <label for="check1">check1</label>        <input id="check1" name="check" value="check1" type="checkbox" class="checkbox">        <label for="check2">check2</label>        <input id="check2" name="check" value="check2" type="checkbox" class="checkbox">        <label for="check3">check3</label>        <input id="check3" name="check" value="check3" type="checkbox" class="checkbox">        <label for="check4">check4</label>        <input id="check4" name="check" value="check4" type="checkbox" class="checkbox">

然后再是CSS代码:


input[type=radio]{            font-size:1em;            visibility: hidden;            position: relative;            display: inline-block;            width: 1em;            height: 1em;        }        input[type=radio]:before{            font-size:1em;            top:12%;            display: inline-block;            position: absolute;            content:' ';            visibility: visible;            height: 1em;            width: 1em;            display: block;            background: url("../img/no.png") no-repeat;            background-size: 1em 1em;        }        input[type=radio]:checked:before{            font-size:1em;            content:' ';            visibility: visible;            height: 1em;            width: 1em;            background: url("../img/yes.png") no-repeat;            background-size: 1em 1em;        }        input[type=checkbox]{            font-size:1em;            visibility: hidden;            position: relative;            display: inline-block;            width: 1em;            height: 1em;        }        input[type=checkbox]:before{            top:12%;            display: inline-block;            position: absolute;            content:' ';            visibility: visible;            height: 1em;            width: 1em;            display: block;            background: url("../img/checkbox_no.png") no-repeat;            background-size: 1em 1em;        }        input[type=checkbox]:checked:before{            content:' ';            visibility: visible;            height: 1em;            width: 1em;            background: url("../img/checkbox.png") no-repeat;            background-size: 1em 1em;        }


版权声明:本文为博主原创文章,未经博主允许不得转载。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn