在頁面制作過程中,我們常常需要實現一個星星評價的功能。這種評價方式利用五顆星星作為評分的單位,用戶可以點擊每顆星星來選擇自己的評分。
實現這種評分方式,需要使用CSS樣式來控制星星的顯示效果。下面是一個基本的CSS樣式:
.star { display: inline-block; width: 100px; height: 20px; background: url(star.png) 0 0 no-repeat; } .star:hover { background-position: 0 -20px; } .star.current { background-position: 0 -40px; }
在這個樣式中,我們使用了一張星星圖片作為背景,并用CSS控制了星星的尺寸、位置和背景位置。在用戶鼠標移動到星星上時,我們使用:hover偽類來改變星星的背景位置,以實現用戶的交互反饋。同時,我們也使用了一個.current類來標記當前選中的星星。
在HTML結構上,我們需要使用一組星星元素,并用JavaScript來控制它們的行為。下面是一個星星評價組件的完整代碼:
<div class="rating"> <span class="star"></span> <span class="star"></span> <span class="star"></span> <span class="star"></span> <span class="star"></span> </div> <script> var stars = document.querySelectorAll('.star'); for (var i = 0; i < stars.length; i++) { stars[i].addEventListener('click', function() { for (var j = 0; j < stars.length; j++) { stars[j].classList.remove('current'); } this.classList.add('current'); }); } </script>
在這個代碼中,我們使用了一個.rating容器來包裹星星元素,并使用JavaScript來為每個星星元素綁定了一個點擊事件。在點擊事件中,我們先移除所有星星元素的.current類,然后為當前的星星添加.current類,以改變它的顯示效果。
通過這種方式,我們可以輕松地實現一組星星評價的功能,并通過CSS和JavaScript來控制它們的外觀和行為。