我使用来自一些在线资源的一些位来使用星级评分系统的代码。该系统工作正常,但我面临一个问题。如果一个页面中有多个星级实例,当我点击一个评级时,我之前设置的评级会重置。就像 CSS 一次只能用于一个评级实例一样。我想评价多个项目,但它只让我评价一个。
这是CSS:
.starRating{
display : inline-block;
position : relative;
height : 24px;
background : url('../images/stars.png') repeat-x 0 0;
vertical-align : bottom;
}
.starRating div{
float : left;
position : relative;
height : 24px;
}
.starRating input{
position : relative;
z-index : 1;
width : 24px;
height : 24px;
margin : 0;
padding : 0;
opacity : 0;
}
.starRating label{
position : absolute;
top : 0;
left : 0;
width : 100%;
height : 24px;
}
.starRating span{
display : none;
}
.starRating input:checked + label,
.starRating:hover input:checked:hover + label{
background : url('../images/stars.png') repeat-x 0 -24px;
}
.starRating:hover input:checked + label{
background : transparent;
}
.starRating:hover input:hover + label{
background : url('../images/stars.png') repeat-x 0 -48px;
}
和 html :
<div class="starRating">
<div>
<div>
<div>
<div>
<input id="rating1" type="radio" name="rating" value="1">
<label for="rating1"><span>1</span></label>
</div>
<input id="rating2" type="radio" name="rating" value="2">
<label for="rating2"><span>2</span></label>
</div>
<input id="rating3" type="radio" name="rating" value="3">
<label for="rating3"><span>3</span></label>
</div>
<input id="rating4" type="radio" name="rating" value="4">
<label for="rating4"><span>4</span></label>
</div>
<input id="rating5" type="radio" name="rating" value="5">
<label for="rating5"><span>5</span></label>
</div>