用CSS打造評(píng)分星級(jí)效果的一個(gè)實(shí)例_DIV+CSS實(shí)例
教程Tag:暫無Tag,歡迎添加,賺取U幣!
用純css打造星級(jí)評(píng)分效果正在被越來越多地應(yīng)用在網(wǎng)絡(luò)中,結(jié)合ajax等技術(shù),可以渲染出很出色的視覺效果和很棒的用戶體驗(yàn)。
首先用中文寫一下這個(gè)效果的算法:
1. 使用背景圖片的位置切換來獲得星級(jí)效果;

2. 整個(gè)效果最要害的地方就是“三層理論”,整個(gè)效果分為三層——空分層、分?jǐn)?shù)層和打分層,三層的布局均為absolute,以避免ul本身自帶的相對(duì)布局(當(dāng)然用div也可以獲得同樣效果);
3. 空分層就是使用背景圖片中的“空星”作為背景,并橫向平鋪;
4. 分?jǐn)?shù)層的寬度等于(分?jǐn)?shù)*圖片寬度)得到的數(shù)值,并且使用背景圖片中的“分?jǐn)?shù)星(例子中為黃色)”作為背景橫向平鋪;
5. 打分層就是將5個(gè)空鏈接置于5個(gè)星星的位置上(寬度要和背景圖片吻合),并將5個(gè)a:hover的背景設(shè)為“打分星(這里為綠色)”,寬度設(shè)為星數(shù)*圖片寬度,left為0(靠左,這樣結(jié)合a:hover不同的寬度就可以出現(xiàn)打分效果),垂直坐標(biāo)小于a的垂直坐標(biāo)(以確保當(dāng)前a:hover不會(huì)遮擋住其他鏈接);
我們看看xhtml代碼:
我們看CSS是如何定義的:
我們看最后的運(yùn)行效果:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
首先用中文寫一下這個(gè)效果的算法:
1. 使用背景圖片的位置切換來獲得星級(jí)效果;

2. 整個(gè)效果最要害的地方就是“三層理論”,整個(gè)效果分為三層——空分層、分?jǐn)?shù)層和打分層,三層的布局均為absolute,以避免ul本身自帶的相對(duì)布局(當(dāng)然用div也可以獲得同樣效果);
3. 空分層就是使用背景圖片中的“空星”作為背景,并橫向平鋪;
4. 分?jǐn)?shù)層的寬度等于(分?jǐn)?shù)*圖片寬度)得到的數(shù)值,并且使用背景圖片中的“分?jǐn)?shù)星(例子中為黃色)”作為背景橫向平鋪;
5. 打分層就是將5個(gè)空鏈接置于5個(gè)星星的位置上(寬度要和背景圖片吻合),并將5個(gè)a:hover的背景設(shè)為“打分星(這里為綠色)”,寬度設(shè)為星數(shù)*圖片寬度,left為0(靠左,這樣結(jié)合a:hover不同的寬度就可以出現(xiàn)打分效果),垂直坐標(biāo)小于a的垂直坐標(biāo)(以確保當(dāng)前a:hover不會(huì)遮擋住其他鏈接);
我們看看xhtml代碼:
示例代碼 [m.hl5o.cn]
<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>
<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>
我們看CSS是如何定義的:
示例代碼 [m.hl5o.cn]
.star-rating{
list-style:none;
margin: 0px;
padding:0px;
width: 150px;
height: 30px;
position: relative;
background: url(images/star_rating2.gif) top left repeat-x;
}
.star-rating li{
padding:0px;
margin:0px;
/*\*/
float: left;
/* */
}
.star-rating li 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{
background: url(images/star_rating2.gif) left center;
z-index: 2;
left: 0px;
}
.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(images/star_rating2.gif) left bottom;
position: absolute;
height: 30px;
width:105px;
display: block;
text-indent: -9000px;
z-index: 1;
}
list-style:none;
margin: 0px;
padding:0px;
width: 150px;
height: 30px;
position: relative;
background: url(images/star_rating2.gif) top left repeat-x;
}
.star-rating li{
padding:0px;
margin:0px;
/*\*/
float: left;
/* */
}
.star-rating li 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{
background: url(images/star_rating2.gif) left center;
z-index: 2;
left: 0px;
}
.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(images/star_rating2.gif) left bottom;
position: absolute;
height: 30px;
width:105px;
display: block;
text-indent: -9000px;
z-index: 1;
}
我們看最后的運(yùn)行效果:
代碼調(diào)試框 [m.hl5o.cn]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
相關(guān)DIV+CSS實(shí)例:
- 固定div容器的寬高,圖片居中(圖片不限制大小)
- 用css制作有滾動(dòng)條的居中彈出框
- 鼠標(biāo)指住(hover)變色的按鈕演示demo
- 10個(gè)很酷的涂鴉風(fēng)格國外網(wǎng)店設(shè)計(jì)展示
- jquery模擬瀏覽器滾動(dòng)條效果
- 仿谷歌google的搜索框下拉提示列表效果
- JS顯示網(wǎng)頁最后更新時(shí)間
- CSS技巧:text-indent隱藏文字(以圖換字)
- CSS實(shí)例:三列自適應(yīng)等高且中列寬度自適應(yīng)
- DivCSS布局實(shí)例:很實(shí)用的圖文混排CSS列表-富有語義
- DivCSS實(shí)例:CSS菜單Flash效果用圖片模擬實(shí)現(xiàn)
- DivCSS布局實(shí)例用dldtdd來制作列表
DIV+CSS實(shí)例Rss訂閱Div+Css教程搜索
DIV+CSS實(shí)例推薦
- Div CSS實(shí)例:如何用CSS實(shí)現(xiàn)背景半透明效果
- CSS實(shí)例:kijiji社區(qū)頭像CSS效果
- CSS折疊菜單一例:可自由伸縮折疊
- DIVCSS布局實(shí)例:DIV CSS新聞列表制作
- 用css網(wǎng)站布局之十步實(shí)錄!(一)
- CSS表格樣式:CSS JS打造可伸縮的表格
- css背景漸變的技巧與方法
- Web標(biāo)準(zhǔn)實(shí)戰(zhàn)CSS網(wǎng)頁布局豆瓣首頁
- DIVCSS布局實(shí)例:一款漂亮的圖片切換效果(可以控制播放)
- CSS布局教程:用DIV CSS實(shí)現(xiàn)國內(nèi)經(jīng)典式三行兩列布局
猜你也喜歡看這些
- 文本輸入框與文本不對(duì)齊(input對(duì)齊同一行的文字)怎么辦?
- XHTMLCSS網(wǎng)頁布局中ID與class的理解應(yīng)用
- CSS網(wǎng)頁布局的優(yōu)勢(shì)與CSS樣式表的功能
- Web Developer插件 Information工具教程
- divcss表單布局技巧及CSSForm表單設(shè)計(jì)技巧
- 使一個(gè)層垂直居中于瀏覽器
- CSS文件是鏈接還是應(yīng)該嵌入?
- DivCSS教程:CSS控制Table單元格強(qiáng)制換行與強(qiáng)制不換行
- 參考:div css命名規(guī)范
- 頁面最小一屏,而頁腳保持在頁面底部的布局!
- 相關(guān)鏈接:
- 教程說明:
DIV+CSS實(shí)例-用CSS打造評(píng)分星級(jí)效果的一個(gè)實(shí)例
。