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

CSS样式表
用css实现图片垂直居中的使用技巧
CSS List Grid Layout 图片垂直居中
IE6网页神奇BUG
Marquee高级用法实例代码
web标准知识——从p开始,循序渐进
web标准知识——用途相似的标签
html链接与文本标签们
当标题不能显示完整的解决方法
详解链接的rel与target区别
使css兼容IE8的小技巧
CSS 首字母大写代码
CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
css font缩写总结附实例
css下margin、padding、border、background和font缩写示例
用CSS来控制图片显示大小的代码
css下划线颜色一句话代码
css常见问题解决方法小结
relative absolute无法冲破的等级问题解决
div总是被select遮挡的解决方法
CSS文字截取功能实现代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-20   浏览: 174 ::
收藏到网摘: 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就只能一个效果一个样式了,如果您还有更简单更炫的效果请指教!
代码打包下载