【HTML】仿淘宝五星评价显示任何分数

最近作项目作到一个五星评分的,这个分数的显示,要精确到小数,就是若是分数是4.3分,就显示4.3颗星星,这个看上去好像挺难的,可是作起来很简单。css

首先咱们整理一下思路,这效果要怎么作出来,由于这个分数的缘由,很容易让人联想到进度条,因此就想到了用遮罩来出来。作法很简单,灰色星星的图片放在下面,而后亮色星星的图片在上面,重叠两张图片,任何控制上面亮色的星星图片,根据分数显示它的长度,这样便能实现这个效果了。废话很少说,直接把代码贴上。html

<html>
<head>
<meta charset="utf-8">	
<style type="text/css">
#bg{
	width: 60px;
	height: 16px;
	background: url("img/star_gray.png");
}
#over{
	height:16px;
	background:url("img/star_org.png") no-repeat;
}
</style>
</head>

<body>
	<div id="bg"><!--这里是背景,也就是灰色的星星-->
		<!--说明,这里的width就是设置分数啦,以我写的为例,一个星星的长度是12px,也就是1分12px,若是是4.3分,就是4.3*12px = 51.6px的长度,固然这个通常是取得数据后用js或者其余模板语言去控制的-->
		<div id="over" style="width:51.6px"></div><!--这里是遮罩,设置宽度以达到评分的效果-->
	</div>
</body>
</html>

这是效果图


想要看五星打分的效果实现,看个人下一篇博客。url

PS:这是五星显示和打分的源文件以及图片素材http://pan.baidu.com/s/1c0ruT3qspa


Author:立礼
Sign:人生不要有太多的幻想,而要有更多的行动。
code