首页前端开发CSScss如何实现五星好评

css如何实现五星好评

时间2023-11-27 08:23:03发布访客分类CSS浏览181
导读:在网站设计上,五星评价是比较常见的一种评价方式。下面我们来讲一下如何使用CSS实现五星评价。首先我们需要一个HTML结构,可以使用ul和li标签模拟五颗星:<ul class="star-rating"> <li c...

在网站设计上,五星评价是比较常见的一种评价方式。下面我们来讲一下如何使用CSS实现五星评价。

首先我们需要一个HTML结构,可以使用ul和li标签模拟五颗星:

ul class="star-rating">
        li class="star">
    a href="#">
    /a>
    /li>
        li class="star">
    a href="#">
    /a>
    /li>
        li class="star">
    a href="#">
    /a>
    /li>
        li class="star">
    a href="#">
    /a>
    /li>
        li class="star">
    a href="#">
    /a>
    /li>
    /ul>

接下来,我们需要用CSS来实现五星评价的样式。我们可以通过给每个星星一个背景色来实现五颗星的效果:

.star-rating {
        list-style-type: none;
        margin: 0;
        padding: 0;
        display: inline-block;
        font-size: 0;
}
.star {
        display: inline-block;
        width: 20px;
        height: 20px;
        margin: 0;
        padding: 0;
        background-color: #ddd;
}
.star a {
        display: block;
        width: 100%;
        height: 100%;
}
.star:hover ~ .star a,.star:hover a,.star-checked a {
        background-color: yellow;
}
    

其中,.star:hover ~ .star a和.star:hover a用于实现鼠标悬停时的颜色变化效果,.star-checked a用于实现点击后的颜色变化效果。

最后,我们需要添加一些JavaScript代码来实现五星评价的交互:

var stars = document.querySelectorAll('.star a');
stars.forEach(function(element) {
    element.addEventListener('click', function(event) {
            event.preventDefault();
            var star = event.target.parentNode;
            var stars = Array.prototype.slice.call(star.parentNode.children);
            var index = stars.indexOf(star);
        stars.forEach(function(star, i) {
                star.classList.toggle('star-checked', i = index);
        }
    );
    }
    );
}
    );
    

上面的代码使用querySelectorAll方法获取了所有星星的元素,然后遍历元素,给每个元素添加一个click事件处理函数。在处理函数中,我们可以通过event.target和parentNode获取当前点击的星星的位置,并通过遍历来设置所有前面的星星为选中状态。

这样,我们就实现了五星评价的效果。完整的示例代码可以在下面的CodePen中查看:

https://codepen.io/pen/KKVaoQv

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: css如何实现五星好评
本文地址: https://pptw.com/jishu/557306.html
css如何实现倒三角 css如何实现以图片为背景

游客 回复需填写必要信息