CSS 星级点评实际效果编码

2021-01-20 14:30 jianzhan
先来个截图:

实际效果很简易,将会如今您如今头脑里早已有完成的思路了。下面先看1下大家一般状况下的完成方式:
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="1星"></li>
<li title="2星"></li>
<li title="3星"></li>
<li title="4星"></li>
<li title="5星"></li>
</ul>

JS:(我用的是jquery)

拷贝编码
编码以下:

<script type="text/javascript" src="http://img.jb51.net/jslib/jquery/jquery.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>

这里是实际效果图:

是否和上面的没甚么差别,但是又1想假如客户禁掉了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: ⑼000px;
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='1星' class='one-star'>1</a></li>
<li><a href='#' title='2星' class='two-stars'>2</a></li>
<li><a href='#' title='3星' class='three-stars'>3</a></li>
<li><a href='#' title='4星' class='four-stars'>4</a></li>
<li><a href='#' title='5星' class='five-stars'>5</a></li>
</ul>

看看上面CSS的行号您是否吓了1跳,这么简易的实际效果居然用了这么多编码?我认为无需JS就只能1个实际效果1个款式了,假如您也有更简易更炫的实际效果请指教!
编码装包免费下载