`
lovelium
  • 浏览: 18881 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

css星级效果总结 取别人另加入自己的一些东东

阅读更多

 很久没有上来看看了。昨天刚完成了自己关于CSS星级效果的AJAX版,今天在这里发布一下啦,其实我还是很喜欢上蓝色,相信这里也有好多是蓝色上的朋友,老鸟们就不要笑话我了。希望能给新手朋友们一点学习的资料罢了。在蓝色的帖子请见:http://bbs.blueidea.com/viewthread.php?tid=2677604&page=1&extra=page%3D1#pid2769114    本人在蓝色上的ID:lovelium

我的效果如下:http://www.szrgb.net/text/toupiao/     上面有源码下载,我想应是长期有效果得罢!
-------------------------------------------------------------------------------------------------------------------------------------------
以下是转得Satellite老大得。希望他老人家不要怪我

用纯css打造星级评分效果正在被越来越多地应用在网络RIA中,结合ajax等技术,可以渲染出很出色的视觉效果和很棒的用户体验,在这篇文章开始之前,大家可以先去cssheaven感受一下。

最近由于项目需要,我在网上找了很多css星级评分的例子和说明,但是发现大多数都是翻译国外的文章,而且解释得并不是非常清楚,所以我决定自己来做一个总结,也希望能够给大家一些帮助。

首先用中文写一下这个效果的算法:
1. 使用背景图片的位置切换来获得星级效果;


2. 整个效果最关键的地方就是“三层理论”,整个效果分为三层——空分层、分数层和打分层,三层的布局均为absolute,以避免ul本身自带的相对布局(当然用div也可以获得同样效果);
3. 空分层就是使用背景图片中的“空星”作为背景,并横向平铺;
4. 分数层的宽度等于(分数*图片宽度)得到的数值,并且使用背景图片中的“分数星(例子中为黄色)”作为背景横向平铺;
5. 打分层就是将5个空链接置于5个星星的位置上(宽度要和背景图片吻合),并将5个a:hover的背景设为“打分星(这里为绿色)”,宽度设为星数*图片宽度,left为0(靠左,这样结合a:hover不同的宽度就可以出现打分效果),垂直坐标小于a的垂直坐标(以确保当前a:hover不会遮挡住其他链接);

效果预览:http://www.achome.cn/example/star_css/star.html

也许上面这段文字你看得有些生涩,没有关系,让我们结合css代码来看看解决办法
<ul class="star-rating">
<li class="current-rating">Currently 3.5/5 Stars.</li>
<li><a href="#" title="1 star out of 5" class="one-star">1</a></li>
<li><a href="#" title="2 stars out of 5" class="two-stars">2</a></li>
<li><a href="#" title="3 stars out of 5" class="three-stars">3</a></li>
<li><a href="#" title="4 stars out of 5" class="four-stars">4</a></li>
<li><a href="#" title="5 stars out of 5" class="five-stars">5</a></li>
</ul>

<style>
.star-rating{/*这里是空分层,用来显示空星星*/
list-style:none;
margin: 0px;
padding:0px;
width: 150px;
height: 30px;
position: relative;
background: url(star_rating2.gif) top left repeat-x;/*空星星位于背景图片的顶层,将其设为背景并横向平铺*/
}
.star-rating li{/*设置li的浮动属性*/
padding:0px;
margin:0px;
/*\*/
float: left;
/* */
}
.star-rating li a{/*设置a的布局为绝对布局和垂直坐标并隐藏a中文本使其成为空链接*/
display:block;
width:30px;
height: 30px;
text-decoration: none;
text-indent: -9000px;
z-index: 20;
position: absolute;
padding: 0px;
}
.star-rating li a:hover{/*设置a:hover的背景图片为打分星/垂直坐标/left为0,注意垂直坐标一定要小于a的垂直坐标*/
background: url(star_rating2.gif) left center;
z-index: 2;
left: 0px;
}

/*以下5个class用来设置5个链接的位置和hover的宽度*/
.star-rating a.one-star{
left: 0px;
}
.star-rating a.one-star:hover{
width:30px;
}
.star-rating a.two-stars{
left:30px;
}
.star-rating a.two-stars:hover{
width: 60px;
}
.star-rating a.three-stars{
left: 60px;
}
.star-rating a.three-stars:hover{
width: 90px;
}
.star-rating a.four-stars{
left: 90px;
}
.star-rating a.four-stars:hover{
width: 120px;
}
.star-rating a.five-stars{
left: 120px;
}
.star-rating a.five-stars:hover{
width: 150px;
}

.star-rating li.current-rating{/*设置分数层的背景和宽度并隐藏文本*/
background: url(star_rating2.gif) left bottom;
position: absolute;
height: 30px;
width:105px;
display: block;
text-indent: -9000px;
z-index: 1;
}
</style>

看完这些,我相信你应该明白了其中的原理了吧,如果还是不明白可以给我留言,或许还是我的文章写得不够好:)

其它学习资料:
1. http://www.blueidea.com/tech/web/2006/3624.asp
2. http://www.cqdol.com/tech/web/9403.html
3. http://www.jluvip.com/works/css/starvote/index2-1.html
评论

相关推荐

    js+css时钟效果 js+css时钟效果

    js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+css时钟效果js+...

    多个CSS3实现的动画效果不错的星级评分效果

    在本主题中,我们将深入探讨如何使用CSS3来创建动态且引人注目的星级评分效果。这个技术无需JavaScript的支持,完全依赖于CSS3的强大功能,包括伪类、过渡(transitions)和动画(animations),使得网页元素交互...

    CSS星级图标(全套)

    下面我们将深入探讨一些关键的CSS概念和技术,这些都是创建星级图标的基础: 1. **伪类选择器**:CSS中的伪类如`:hover`、`:active`和`:checked`可以用来改变元素在特定状态下的样式。例如,当鼠标悬停在星星上时,...

    css专区 都是css 的东东

    例如,Internet Explorer 6、7与Mozilla Firefox等浏览器在处理CSS时可能存在不一致,导致预期的页面效果无法呈现。为了解决这个问题,开发者需要使用CSS Hack技术,即编写针对特定浏览器的CSS代码,确保页面在各种...

    非常漂亮的css星级效果总结第1/2页

    在网页设计中,CSS星级效果被广泛应用于评分系统,以直观地表示用户对产品或服务的满意度。这篇文章提供了详细的实现技巧和注意事项,让读者能够理解如何使用纯CSS来创建这样的效果。以下便是文章中提到的关键知识点...

    css专区 都是css的东东

    在网页设计中,CSS(层叠样式表)扮演着至关重要的角色,特别是在创建导航菜单方面。传统的导航设计可能依赖图像、表格和JavaScript,但这种方式存在诸多问题,如可访问性差、加载速度慢以及对搜索引擎优化(SEO)不...

    CSS3动画效果源代码27个合集.zip

    纯CSS3模拟风车转动效果纯css3云彩动画效果纯css3制作出来的狐狸尾巴燃烧效果纯CSS3模拟跳动的音乐音符效果多种css3滚动下拉动画...星级评分效果纯HTML5 CSS3实现一棵自己跳舞的树纯CSS3模拟摩天轮旋转动画效果

    js+CSS 星级评分 多级 通用 实例

    总结来说,这个"js+CSS 星级评分 多级 通用 实例"涵盖了前端开发中的重要技术,包括JavaScript的事件处理和数据操作,CSS的样式设计和动画效果,以及如何构建既实用又美观的用户界面。在实际项目中,这样的系统能够...

    CSS3 抛物线 加入购物车

    "CSS3 抛物线 加入购物车"这个主题就是关于如何利用CSS3的动画特性,实现一个商品被点击后沿着抛物线轨迹飞入购物车的效果。这个效果通常用于电子商务网站,增加用户的交互性和趣味性,使购物流程更加生动。 CSS3是...

    html+css知识点总结

    html+css知识点总结

    炫酷纯CSS3星级评分动画特效

    在"starability.css"中,这些特性被巧妙地利用,为用户提供了六种独特的星级评分动画效果: 1. **滑动动画**:这种效果会在用户悬停或点击时,星星会以平滑的过渡效果从无到有地滑动出现,呈现出评分的过程。 2. *...

    css 的东东 多看看

    它能够让你实现对网页元素的精确控制,包括字体、颜色、布局等视觉效果。在网页设计中,CSS与HTML结合使用,可以将内容和表现分离,使网页结构更清晰,维护更方便。 在描述中提到的"javascript 中的跳转方法"是关于...

    jQuery+HTML5+CSS3 实现加入购物车飞入动画特效

    在前端开发领域,jQuery、HTML5和CSS3是构建交互式和动态网页的重要技术。本案例结合这三种技术...学习和研究此案例有助于前端开发者提升技能,理解现代网页动态效果的实现方式,为自己的项目带来更多的创意和趣味性。

    css 取色工具

    4. **调色板**:一些高级的取色工具还带有内置的调色板,允许用户保存常用的色彩,方便快速访问和对比。 5. **历史记录**:工具通常会保留最近选取的颜色历史,便于回顾和再次使用。 6. **辅助功能**:有的工具...

    css3-弹出窗口弹出效果

    在IT领域,CSS3是一种强大的样式表语言,用于定义网页的布局、颜色、字体等视觉效果。本主题聚焦于“css3-弹出窗口弹出效果”,这涉及到网页交互设计中的一个重要方面,即如何通过CSS3实现吸引用户的动态提示或信息...

    5种动画过渡效果的纯CSS3幻灯片特效

    【标题】"5种动画过渡效果的纯CSS3幻灯片特效"介绍了一种利用CSS3技术实现的幻灯片组件,它具有五种不同的动画过渡效果,为网站的动态展示提供了丰富的选择。这种特效完全基于CSS3,不依赖JavaScript库,因此在性能...

    使用css3实现动态效果

    2.需要使用css3中的至少两种效果,并且用到css3的地方请注释,例如阴影效果,动画效果,2D转换,3D转换,css3过渡等等。 3.要求css样式写在head的style里,或者新建一个css文件写在里面。图片放在单独建立的文件夹下...

    CSS的Mac Dock 鱼眼菜单效果

    "CSS的Mac Dock 鱼眼菜单效果"就是一种借鉴了Mac操作系统Dock栏风格,利用CSS技术实现的动态菜单效果。这个效果使得菜单项在鼠标悬停时呈现出如同鱼眼镜头般的放大效果,增加了交互的趣味性和吸引力。 首先,我们来...

    css动画切换效果

    总结,CSS3的动画和切换效果为网页带来了更生动、交互性更强的用户体验。通过`@keyframes`定义动画,`animation`应用动画,以及巧妙地使用CSS伪类,开发者可以创造出各种各样的视觉特效,提升网站的吸引力和专业性。...

Global site tag (gtag.js) - Google Analytics