CSS实例教程:CSS制作星级评价的功能

2016-02-19 16:14 4 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的CSS实例教程:CSS制作星级评价的功能,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Web开发 】

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

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:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

以下为引用的内容:

pJavascript + 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="jquery-1.3.1.js"/script

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

    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:

以下为引用的内容:

 1 /*CSS Star start*/
 2         .star-rating
 3         {
 4             list-style: none;
 5             margin: 0px;
 6             padding: 0px;
 7             width: 100px;
 8             height: 20px;
 9             position: relative;
10             background: url(star_rating.gif) top left repeat-x;
11         }
12         .star-rating li
13         {
14             padding: 0px;
15             margin: 0px;
16             float: left;
17         }
18         .star-rating li a
19         {
20             display: block;
21             width: 20px;
22             height: 20px;
23             text-decoration: none;
24             text-indent: -9000px;
25             z-index: 20;
26             position: absolute;
27             padding: 0px;
28         }
29         .star-rating li a:hover
30         {
31             background: url(star_rating.gif) left bottom;
32             z-index: 1;
33             left: 0px;

34         }
35         .star-rating a.one-star
36         {
37             left: 0px;
38         }
39         .star-rating a.one-star:hover
40         {
41             width: 20px;
42         }
43         .star-rating a.two-stars
44         {
45             left: 20px;
46         }
47         .star-rating a.two-stars:hover
48         {
49             width: 40px;
50         }
51         .star-rating a.three-stars:hover
52         {
53             width: 60px;
54         }
55         .star-rating a.three-stars
56         {
57             left: 40px;
58         }
59         .star-rating a.four-stars
60         {
61             left: 60px;
62         }
63         .star-rating a.four-stars:hover
64         {
65             width: 80px;
66         }
67         .star-rating a.five-stars
68         {
69             left: 80px;
70         }
71         .star-rating a.five-stars:hover
72         {
73             width: 100px;
74            
75         }
 
HTML:

以下为引用的内容:

ul class='star-rating'
  lia href='#' title='一星' class='one-star'1/a/li
  lia href='#' title='二星' class='two-stars'2/a/li
  lia href='#' title='三星' class='three-stars'3/a/li
  lia href='#' title='四星' class='four-stars'4/a/li
  lia href='#' title='五星' class='five-stars'5/a/li
/ul
 
看看上面CSS的行号您是不是吓了一跳,这么简单的效果竟然用了这么多代码?在我看来不用JS就只能一个效果一个样式了,如果您还有更简单更炫的效果请指教!

来源:http://www.tulaoshi.com/n/20160219/1611394.html

延伸阅读
标签: Web开发
在上面一节我们讲到的是垂直的导航.但是大多网站用的还是横向的导航,那么就来跟我学下横向导航是如何实现的. 要怎么实现下面的效果.只要在列表项之间避免换行就行了,所以要把li转换为内联. HTML和CSS代码如下: ============================= !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"    ...
calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分。因为看其外表像个函数,既然是函数为何又出现在CSS中呢?这一点也让我百思不得其解,今天有一同事告诉我,说CSS3中有一个属性能实现自适应的布局,首先让我想到的是box-sizing,但跟我说还可以计算,这让我不得不想起calc()。因为早先在官网和一些blog上看到相关的介绍,但一直...
标签: Web开发
除非你的网站只有一页,不然你一定会用的导航的.事实上,导航在网页设计中是最重要部分之一.你要用很多时间去考虑如何让浏览者更容易访问你的网站. 在以前做网站导航时,往往依赖于图像,表格,和javascript.而这些都严重的影响了网站的可访问性和可使用性.如果在一个缺乏支持javascript的用户,那么你的网站导航将无算正常的显示.比如说一个用户...
标签: Web开发
课程关键词:浮动 页面布局有两种方式 1)浮动Float 2)定位Position 今天就来一个小小的练习,让大家理解Float的含义 要求: 1)两个方块,一个红色#900,一个蓝色#009; 2)红色方块宽度和高度均为200像素,蓝色方块 宽度为300像素,高度为200像素; 3)红色方块蓝的上外边距(margin-top)和左外边距(margin-left)均为20像素; 页面效...
标签: Web开发
课程关键词:清除浮动Clear 还记得第二课我们做的例子的效果么?最后效果是,红色方块和蓝色方块都处于一行,我们使用Float:left,打击了块状元素的霸道即块状元素不允许其他元素和它处于同一行。我们将红色方块的CSS代码中加入了Float:left;后,红色方块终于允许蓝色方块和它处于同一行。如图: 我们换一种方法表达上面的意思,因为红色...

经验教程

281

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部