CSS五星評(píng)價(jià)是網(wǎng)站設(shè)計(jì)中常見的一種交互組件,可以有效地讓用戶表達(dá)對(duì)某個(gè)產(chǎn)品或服務(wù)的滿意度,進(jìn)而更好地提升用戶體驗(yàn)。下面介紹一個(gè)CSS五星評(píng)價(jià)組件的實(shí)現(xiàn)思路。
.star-rating { display: inline-block; font-size: 0; cursor: pointer; } input[type="radio"] { display: none; } label.star { display: inline-block; font-size: 2rem; color: #ddd; text-shadow: 1px 1px #777; } label:hover { color: #FFD710; } input[type="radio"]:checked ~ label { color: #FFD710; text-shadow: 1px 1px #777; } input[type="radio"]:checked + label:before { content: "\2605"; }
首先,將一組radio元素的display屬性設(shè)置為none,隱藏它們的顯示。接著,創(chuàng)建label標(biāo)簽,設(shè)置樣式,并使用:before偽元素來(lái)顯示星星圖標(biāo),同時(shí),使用~符號(hào)來(lái)控制鼠標(biāo)懸停和radio選中時(shí)的顏色和樣式。
使用這個(gè)CSS五星評(píng)價(jià)組件,只需要在HTML中使用radio和label元素的組合即可。例如:
以上代碼就是一個(gè)最基本的五星評(píng)價(jià)組件,你還可以使用JavaScript來(lái)獲取用戶選擇的評(píng)分值,從而實(shí)現(xiàn)數(shù)據(jù)的收集和分析。CSS五星評(píng)價(jià)組件可以極大地優(yōu)化用戶體驗(yàn),如果你的網(wǎng)站中正在使用一個(gè)丑陋、低效的評(píng)價(jià)組件,現(xiàn)在就可以使用這種CSS五星評(píng)價(jià)組件進(jìn)行替換。