1.设置radio样式
注意:radio的id要和对应的label 的for相同。
原理:使用 :checked+label 切换样式图片。checkbox也可以这么做。
CSS:
input[type=radio] {
float: left;
visibility: hidden;
}
label {
float: left;
width: 16px;
height: 15px;
margin: 18px 5px 0 0;
background: url(../images/arrow.png) no-repeat;
cursor: pointer;
}
.l1 {
background-position: -237px -184px;
background-size: 250px;
}
.l2 {
background-position: -236px -156px;
background-size: 250px;
}
#r1:checked + label {
background-position: -210px -184px;
}
#r2:checked + label {
background-position: -212px -156px;
}
HTML:
<div class="male"> <input type="radio" checked="checked" name="sexlist" id="r1" /> <label for="r1" class="l1"></label>男 </div> <div class="female"> <input type="radio" name="sexlist" id="r2" /> <label for="r2" class="l2"></label>女 </div>
效果:



2.进度条样式(摘自http://lab.tianyizone.com/demo/form/form_demo_css.html)
原理:为三个页面的进度条分别设置不同的value,由此切换背景图片。
CSS:
progress {display: block;width: 300px;height: 35px;margin-bottom:10px;-webkit-appearance:none;} progress::-webkit-progress-bar { background: url(bg_step.png) no-repeat 0 0; } progress::-webkit-progress-value { background: url(bg_step.png) no-repeat 0 -50px; } progress[value="2"]::-webkit-progress-value { background-position: 0 -100px; } progress[value="3"]::-webkit-progress-value { background-position: 0 -150px; }
HTML:
<progress max="3" value="2"></progress>
其中max定义完成值,value定义当前值。
效果:



原文:http://www.cnblogs.com/17shiooo/p/5077054.html