很多网站目前都有评分功能,当然随之而来的是如何更加简单方便的显示出星星亮的个数。
很多网站展示的时候是一颗整亮星+半颗亮星,比如5分就显示2个半,5.3分还是显示2个半,4.9分则显示2个亮星,四舍五入了。
这样当然不是最优的显示方式,最优的方式肯定是多少分就显示多少比例的星星,换一种思维就是通过百分比来显示,这样的好处就是只要设计一个亮星和一个暗星就行了,其余的通通交给比例来实现,这样的方式更加精准,同时避免了程序对分数进行哪些不必要的四舍五入判断。
当然,实现这个效果是异常简单的,简单说来就是先放一个背景,然后在背景上面放一个图片,然后显示图片能看到的比例就行。
下面具体看代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>星级评分展示CSS样式技巧 - 威言威语weisay.com</title>
<style type="text/css">
.vote-star{
display:inline-block;/*内联元素转换成块元素,并不换行 weisay.com*/
margin-right:6px;
width:85px;/*5个星星的宽度 weisay.com*/
height:17px;/*1个星星的高度 weisay.com*/
overflow:hidden;
vertical-align:middle;
background:url(https://img.weisay.com/weiimg/article/495_1.gif) repeat-x 0 -17px;}
.vote-star i{
display:inline-block;/*内联元素转换成块元素,并不换行 weisay.com*/
height:17px;/*1个星星的高度 weisay.com*/
background:url(https://img.weisay.com/weiimg/article/495_1.gif) repeat-x 0 0;}
.vote-number{
vertical-align:middle;
font-family:微软雅黑, Verdana, Geneva, sans-serif;
font-size:12px;}
</style>
</head>
<body>
<div class="star">
<span class="vote-star"><i style="width:97%"></i></span><span class="vote-number">9.7分</span>
<br /><br />
<span class="vote-star"><i style="width:44%"></i></span><span class="vote-number">4.4分</span>
<br /><br />
<span class="vote-star"><i style="width:13%"></i></span><span class="vote-number">1.3分</span>
</div>
</body>
</html>
程序只要做一件简单的事情,就是控制代码里面的 width:97% ,宽度的比例就行,这样就能实现精准的星级评分展示效果了。
星级评分展示CSS样式技巧 在文档最前面加个(尖括号!DOCTYPE HTML)尖括号 ,在IE9显示就乱了,FF和chorm正常
@yhc看看是不是编码问题,上面我用的是utf8的。
@Williamdiv的宽度怎么调。从数据库得到一个比例,怎么调div的宽。
@努力这个要看你整个5颗星的宽度了,只要把星星位置定好,其他的就是控制比例了
这个插件不会是博主做的吧,以前在osc上看到过的~很不错~
呵呵,串个门看看,威兄MS也好久不更新博客了啊
@上善若水有点懒,呵呵
有了这个初步的设计,后面的评分功能就可以顺着做啦!设计的很不错哇~
@林肆 评分功能就是开发的事情了
@William同意这个观点
漂亮!!!
只会从这里抄点那里抄点,自己写是完全不会~~
@koobai其实写倒是不难,重要是想到方法
现在看代码都头疼了。。。
双节来了。祝双节快乐。
照着捣鼓下·
还需要script和后台配合才行。
技术男,最近又鼓捣啥呢啊、现在啥都网轻上靠了。
@43度上班、上班、还是上班
@43度唐山的?
评分啊。我怎么没找到。
@wmtimes只是做了一个评分以后的展示而已,没有评分功能
css比js利索多了。。。。
@木本无心木木你要抽空看看我的网站为啥偶尔有加载错误,是不是JS什么的问题啊。
怎么点了不管用?
@宁峰这个只是评分好的之后的展示,不是点击评分的功能~