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

    input标签中的radio和checkbox是很表单中常用的类型,大多时候,默认样式并不能满足我们的需求,所以有了此篇。

    自定义样式,由此开启:

    html:

    <div class="questionBlock3">
    	<h6>2)请问你喜欢哪种水果?</h6>
    	<div class="answerRadioBox">
    		<label><input name="Fruit" type="radio" value="" /><font>苹果</font></label> 
    		<label><input name="Fruit" type="radio" value="" /><font>苹果2</font> </label> 
    		<label><input name="Fruit" type="radio" value="" /><font>苹果3</font></label> 
    		<label><input name="Fruit" type="radio" value="" /><font>苹果4</font></label> 
    	</div>
    </div>
    
    <div class="questionBlock4">
    	<h6>2)请问你喜欢哪些水果?</h6>
    	<div class="answerCheckBox">
    		<label><input name="demoCheck" type="checkbox" value="" /><font>苹果 </font></label> 
    		<label><input name="demoCheck" type="checkbox" value="" /><font>苹果2 </font></label> 
    		<label><input name="demoCheck" type="checkbox" value="" /><font>苹果3 </font></label> 
    		<label><input name="demoCheck" type="checkbox" value="" /><font>苹果4 </font></label> 
    		<label><input name="demoCheck" type="checkbox" value="" /><font>苹果5</font></label> 
    		<label><input name="demoCheck" type="checkbox" value="" /><font>苹果6</font></label> 
    	</div>
    </div>
    

    css:

    .answerRadioBox,.answerCheckBox{
    	 100%;
    	height: auto;
    	color: #fff;
    	font-size: 0;
    	padding:0.6rem 0 0.3rem 0;
    	border-bottom: 1px solid #fff;
    }
    
    .answerRadioBox label,.answerCheckBox label{
    	 25%;
    	padding:0.2rem 0;
    	font-size: 0.6rem;
    	display: inline-block;
    	position: relative;
    }
    
    .answerRadioBox label font,.answerCheckBox label font{
    	padding-left: 0.8rem;
    }
    
    .answerRadioBox input[type="radio"] + font::before {
        content: "a0"; /*不换行空格*/
        display: inline-block;
        position: absolute;
        top:50%;
        left:0;
        transform: translateY(-50%);
         0.56rem;
        height: 0.56rem;
        border-radius: 50%;
        border: 1px solid #c9c9c9;
        box-sizing: border-box;
    }
    
    .answerRadioBox input[type="radio"]:checked + font::before {
        background-color: #c9c9c9;
        background-clip: content-box;
        padding: 0.15em;
    }
    
    .answerRadioBox input[type="radio"] {
        position: absolute;
        clip: rect(0, 0, 0, 0);
    }
    
    .answerCheckBox input[type='checkbox']{
         0.56rem;
        height: 0.56rem;
        background: none;
        -webkit-appearance: none;
        border: 1px solid #c9c9c9;
        border-radius: 2px;
        outline: none;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    
    .answerCheckBox input[type=checkbox]:checked::before{
       content: "2713";
       position: absolute;
       top: 0;
       left: 0;
        100%;
       height: 100%;
       color: #c9c9c9;
       font-weight: bold;
       text-align:center;
       font-size:0.8rem;
       line-height:0.5;
    }
    

      

    效果图如下:

      

    主要是用到了伪元素,可以任意更换颜色,或者使用背景图片也可以。

    “2713”表示实体符号√,想了解更多可以去 html css特殊字符表 查阅

  • 相关阅读:
    mysql优化四(SQL优化)
    mysql优化三(索引)
    mysql优化二(优化数据库的设计)
    mysql优化一(优化方式)
    ES6——Thunk函数
    JavaScript例子
    fetch使用
    ES6—Generator的next()方法传参
    ES6——Generator函数抛出异常
    JavaScript对象添加属性和方法
  • 原文地址:https://www.cnblogs.com/nanyang520/p/11224561.html
Copyright © 2011-2022 走看看