当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS 星级评价效果代码

CSS样式表
CSS网页设计实例:15个用CSS设计的网页表单实例
让IE可以变相支持CSS3选择器
CSS3制作的精彩的网页实例教程
5个实例让你轻松了解CSS3新属性
CSS教程:详解CSS特定值
网页制作中的水平居中和垂直居中解决方案
CSS教程:CSS属性behavior的语法
网页制作实例:用CSS样式描述表格Table边框
CSS Hack兼容各浏览器是否正常
应聘网页设计师常见的8个面试试题和答案
5个帮助你实现未来的网页设计的CSS3技巧
CSS教程:纯CSS实现的圆角化图片
CSS命名规范和CSS书写规范及方法
CSS教程:expression在Chrome的问题
CSS教程:CSS变换(transition)
float闭合(清除浮动)和CSS HACK
letter-spacing和word-spacing
CSS基础语法:群组化选择符
黑客选择CSS代码挂马 CSS挂马攻防实录
CSS3制作网页下拉菜单代码解释

CSS样式表 中的 CSS 星级评价效果代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-20   浏览: 81 ::
收藏到网摘: n/a

先来个截图:

效果很简单,可能现在您现在脑子里已经有实现的思路了。下面先看一下我们通常情况下的实现方法:
CSS:
代码

复制代码
代码如下:

.jsstar
{ list-style: none;
margin: 0px;
padding: 0px;
width: 100px;
height: 20px;
position: relative;
}
.jsstar li
{
padding:0px;
margin: 0px;
float: left;
width:20px;
height:20px;
background:url(star_rating.gif) 0 0 no-repeat;
}

HTML:

复制代码
代码如下:

<p>Javascript + CSS实现</p>
<ul class="jsstar">
<li title="一星"></li>
<li title="二星"></li>
<li title="三星"></li>
<li title="四星"></li>
<li title="五星"></li>
</ul>

JS:(我用的是jquery)

复制代码
代码如下:

<script type="text/javascript" src="/upload/tech/20100120/20100120134840_d6baf65e0b240ce177cf70da146c8dc8.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".jsstar >li").hover(
function(){$(this).css({"background-position":"left bottom"}).prev().trigger("mouseover")},
function(){$(this).css({"background-position":"left top"}).prev().trigger("mouseout")})
.click(function(){alert($(this).attr("title"))});
});
</script>

这里是效果图:

是不是和上面的没什么区别,可是又一想如果用户禁掉了javascript岂不是效果很惨?
于是我们想到了用纯CSS实现,下面是代码:
CSS:
代码

复制代码
代码如下:

/*CSS Star start*/
.star-rating
{
list-style: none;
margin: 0px;
padding: 0px;
width: 100px;
height: 20px;
position: relative;
background: url(star_rating.gif) top left repeat-x;
}
.star-rating li
{
padding: 0px;
margin: 0px;
float: left;
}
.star-rating li a
{
display: block;
width: 20px;
height: 20px;
text-decoration: none;
text-indent: -9000px;
z-index: 20;
position: absolute;
padding: 0px;
}
.star-rating li a:hover
{
background: url(star_rating.gif) left bottom;
z-index: 1;
left: 0px;
}
.star-rating a.one-star
{
left: 0px;
}
.star-rating a.one-star:hover
{
width: 20px;
}
.star-rating a.two-stars
{
left: 20px;
}
.star-rating a.two-stars:hover
{
width: 40px;
}
.star-rating a.three-stars:hover
{
width: 60px;
}
.star-rating a.three-stars
{
left: 40px;
}
.star-rating a.four-stars
{
left: 60px;
}
.star-rating a.four-stars:hover
{
width: 80px;
}
.star-rating a.five-stars
{
left: 80px;
}
.star-rating a.five-stars:hover
{
width: 100px;
}

HTML:

复制代码
代码如下:

<ul class='star-rating'>
<li><a href='#' title='一星' class='one-star'>1</a></li>
<li><a href='#' title='二星' class='two-stars'>2</a></li>
<li><a href='#' title='三星' class='three-stars'>3</a></li>
<li><a href='#' title='四星' class='four-stars'>4</a></li>
<li><a href='#' title='五星' class='five-stars'>5</a></li>
</ul>

看看上面CSS的行号您是不是吓了一跳,这么简单的效果竟然用了这么多代码?在我看来不用JS就只能一个效果一个样式了,如果您还有更简单更炫的效果请指教!
代码打包下载