<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>多种CSS3动画效果星级评分特效</title>
<link rel="stylesheet" type="text/css" href="css/zzsc.css">
<link rel="stylesheet" type="text/css" href="starability-minified/starability-all.min.css"/>
</head>
<body>
<section>
<div class="starability-container">
<h3>基本样式:</h3>
<form>
<fieldset class="starability basic">
<legend>Basic star rating:</legend>
<input type="radio" id="rate5-1" name="rating" value="5" />
<label for="rate5-1" title="Amazing">5 stars</label>
<input type="radio" id="rate4-1" name="rating" value="4" />
<label for="rate4-1" title="Very good">4 stars</label>
<input type="radio" id="rate3-1" name="rating" value="3" />
<label for="rate3-1" title="Average">3 stars</label>
<input type="radio" id="rate2-1" name="rating" value="2" />
<label for="rate2-1" title="Not good">2 stars</label>
<input type="radio" id="rate1-1" name="rating" value="1" />
<label for="rate1-1" title="Terrible">1 star</label>
</fieldset>
</form>
</div>
</section>
<section>
<div class="starability-container">
<h3>向上滚动:slot</h3>
<form>
<fieldset class="starability slot">
<legend>Basic star rating:</legend>
<input type="radio" id="rate5-2" name="rating" value="5" />
<label for="rate5-2" title="Amazing">5 stars</label>
<input type="radio" id="rate4-2" name="rating" value="4" />
<label for="rate4-2" title="Very good">4 stars</label>
<input type="radio" id="rate3-2" name="rating" value="3" />
<label for="rate3-2" title="Average">3 stars</label>
<input type="radio" id="rate2-2" name="rating" value="2" />
<label for="rate2-2" title="Not good">2 stars</label>
<input type="radio" id="rate1-2" name="rating" value="1" />
<label for="rate1-2" title="Terrible">1 star</label>
</fieldset>
</form>
</div>
</section>
<section>
<div class="starability-container">
<h3>发光动画:grow</h3>
<form>
<fieldset class="starability grow">
<legend>Basic star rating:</legend>
<input type="radio" id="rate5-3" name="rating" value="5" />
<label for="rate5-3" title="Amazing">5 stars</label>
<input type="radio" id="rate4-3" name="rating" value="4" />
<label for="rate4-3" title="Very good">4 stars</label>
<input type="radio" id="rate3-3" name="rating" value="3" />
<label for="rate3-3" title="Average">3 stars</label>
<input type="radio" id="rate2-3" name="rating" value="2" />
<label for="rate2-3" title="Not good">2 stars</label>
<input type="radio" id="rate1-3" name="rating" value="1" />
<label for="rate1-3" title="Terrible">1 star</label>
</fieldset>
</form>
</div>
</section>
<section>
<div class="starability-container">
<h3>发光并旋转:growRotate</h3>
<form>
<fieldset class="starability growRotate">
<legend>Basic star rating:</legend>
<input type="radio" id="rate5-4" name="rating" value="5" />
<label for="rate5-4" title="Amazing">5 stars</label>
<input type="radio" id="rate4-4" name="rating" value="4" />
<label for="rate4-4" title="Very good">4 stars</label>
<input type="radio" id="rate3-4" name="rating" value="3" />
<label for="rate3-4" title="Average">3 stars</label>
<input type="radio" id="rate2-4" name="rating" value="2" />
<label for="rate2-4" title="Not good">2 stars</label>
<input type="radio" id="rate1-4" name="rating" value="1" />
<label for="rate1-4" title="Terrible">1 star</label>
</fieldset>
</form>
</div>
</section>
<section>
<div class="starability-container">
<h3>淡入淡出:fade</h3>
<form>
<fieldset class="starability fade">
<legend>Basic star rating:</legend>
<input type="radio" id="rate5-5" name="rating" value="5" />
<label for="rate5-5" title="Amazing">5 stars</label>
<input type="radio" id="rate4-5" name="rating" value="4" />
<label for="rate4-5" title="Very good">4 stars</label>
<input type="radio" id="rate3-5" name="rating" value="3" />
<label for="rate3-5" title="Average">3 stars</label>
<input type="radio" id="rate2-5" name="rating" value="2" />
<label for="rate2-5" title="Not good">2 stars</label>
<input type="radio" id="rate1-5" name="rating" value="1" />
<label for="rate1-5" title="Terrible">1 star</label>
</fieldset>
</form>
</div>
</section>
<section>
<div class="starability-container">
<h3>选择框效果:checkmark</h3>
<form>
<fieldset class="starability checkmark">
<legend>Basic star rating:</legend>
<input type="radio" id="rate5-6" name="rating" value="5" />
<label for="rate5-6" title="Amazing">5 stars</label>
<input type="radio" id="rate4-6" name="rating" value="4" />
<label for="rate4-6" title="Very good">4 stars</label>
<input type="radio" id="rate3-6" name="rating" value="3" />
<label for="rate3-6" title="Average">3 stars</label>
<input type="radio" id="rate2-6" name="rating" value="2" />
<label for="rate2-6" title="Not good">2 stars</label>
<input type="radio" id="rate1-6" name="rating" value="1" />
<label for="rate1-6" title="Terrible">1 star</label>
</fieldset>
</form>
</div>
</section>
</body>
</html>
/* 基本样式 */
.starability{display:block;position:relative;width:150px;min-height:60px;padding:0;border:none}
.starability>input{position:absolute;margin-right:-100%;opacity:0}
.starability>input:checked~label,
.starability>input:focus~label,
.starability>input:hover~label{background-position:0 -30px}
/* .starability>input:focus+label{outline:1px dotted #999} */
.starability>label{position:relative;display:inline-block;float:right;width:30px;height:30px;color:transparent;cursor:pointer;background-image:url(../starability-images/icons.png);background-repeat:no-repeat}
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),screen and (-webkit-min-device-pixel-ratio:2){
.starability>label{background-image:url(../starability-images/icons@2x.png);background-size:30px auto}
}
/* 向上滚动 */
f
.slot>input:checked~label,
.slot>input:focus~label,
.slot>input:hover~label{transition:background-position .7s}
/* 发光动画 */
@keyframes a{
0%{transform:scale(1)}
99%{transform:scale(4);opacity:0}
to{transform:scale(1);opacity:0}
}
.grow>label:before{display:none;position:absolute;content:' ';width:30px;height:30px;background-image:url(../starability-images/icons.png);background-repeat:no-repeat;bottom:0}
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),screen and (-webkit-min-device-pixel-ratio:2){
.grow>label:before{background-image:url(../starability-images/icons@2x.png);background-size:30px auto}
}
.grow>input:checked+label:before{
display:block;
animation:a 1s forwards;
}
/* 发光并旋转 */
@keyframes b{
0%{transform:scale(1) rotate(0)}
99%{transform:scale(4) rotate(90deg);opacity:0}
to{transform:scale(1) rotate(0);opacity:0}
}
.growRotate>label:before{display:none;position:absolute;content:' ';width:30px;height:30px;background-image:url(../starability-images/icons.png);background-repeat:no-repeat;bottom:0}
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),screen and (-webkit-min-device-pixel-ratio:2){
.growRotate>label:before{background-image:url(../starability-images/icons@2x.png);background-size:30px auto}
}
.growRotate>input:checked+label:before{
display:block;
animation:b 1s forwards;}
/* 淡入淡出 */
@keyframes c{
0%{transforWm:translateY(30px)}
80%{opacity:100%}
to{transform:none;opacity:0}
}
.fade>label:before{display:none;position:absolute;content:' ';width:30px;height:30px;background-image:url(../starability-images/icons.png);background-repeat:no-repeat;background-position:0 -30px;bottom:30px}
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),screen and (-webkit-min-device-pixel-ratio:2){.starability-fade>label:before{background-image:url(../starability-images/icons@2x.png);background-size:30px auto}}
.fade>input:checked+label:before{display:block;
animation:c 1s forwards;}
/* 选择框效果 */
@keyframes d{
0%{transform:translateX(-15px)}
60%{opacity:1}
70%{transform:none}
80%{opacity:1}to{opacity:0}}
.checkmark>label{position:static;z-index:1}
.checkmark>label:before{display:none;position:absolute;content:' ';width:30px;height:30px;background-image:url(../starability-images/icons-checkmark.png);background-repeat:no-repeat;background-position:0 -60px;right:-30px}
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),screen and (-webkit-min-device-pixel-ratio:2){.checkmark>label:before{background-image:url(../starability-images/icons-checkmark@2x.png);background-size:30px auto}}
.checkmark>input:checked+label:before{display:block;
animation:d .7s forwards;}