首页js教程 正文

纯CSS美化单选/复选框

时间: 2020年4月29日 浏览 3985

css

.label_box>label {
 display:block;
 display: inline-block;

 margin:0 10px 10px 0;
 position:relative;
 overflow:hidden;
}
.label_box>label>input {
 position:absolute;
 top:0;
 left:-20px;
}
.label_box>label>div {
 width:100px;
 text-align:center;
 border:#dddddd solid 1px;
 height:40px;
 line-height:40px;
 color:#666666;
 user-select:none;
 overflow:hidden;
 position:relative;
}
.label_box>label>input:checked + div {
 border:#d51917 solid 1px;
 color:#d51917;
}
.label_box>label>input:checked + div:after {
 content:'';
 display:block;
 width:20px;
 height:20px;
 background-color:#d51917;
 transform:skewY(-45deg);
 position:absolute;
 bottom:-10px;
 right:0;
 z-index:1;
}
.label_box>label>input:checked + div:before {
 content:'';
 display:block;
 width:3px;
 height:8px;
 border-right:#ffffff solid 2px;
 border-bottom:#ffffff solid 2px;
 transform:rotate(35deg);
 position:absolute;
 bottom:2px;
 right:4px;
 z-index:2;
}

html

<h1>纯CSS美化单选/复选框</h1>
 <div>单选框:</div>
 <div class="label_box">
 <label><input type="radio" name="sex"><div>男</div></label>
 <label><input type="radio" name="sex"><div>女</div></label>
 </div>
 
 <div>复选框:</div>
 <div class="label_box">
 <label><input type="checkbox" name="hobby"><div>旅游</div></label>
 <label><input type="checkbox" name="hobby"><div>爬山</div></label>
 <label><input type="checkbox" name="hobby"><div>游泳</div></label>
 </div>