当前位置: 首页 > Web前端 > CSS

css实现小数点星级评定

时间:2023-03-31 11:00:12 CSS

最近做的一个项目有个类似星级的功能,不过是小数点。一开始想着利用css的一些高级属性,但是并没有达到想要的效果。最后用普通的css和js实现了。先来个简单版:html代码

</div>
csscode.box{位置:相对;显示:内联块;}.star-wrapspan{浮动:左;宽度:16px;高度:16px;}.star-wrapspan:not(:last-child){margin-right:4px;}.bottomspan{背景:url(./assets/img/star.png)00不重复;}.maskspan{背景:url(./assets/img/star_1.png)00不重复;}.mask{位置:绝对;左:0;顶部:0;溢出:隐藏;需要添加一个容器,设置足够大的宽度,防止宽度不够,内容掉下来。效果如下。这是一个问题。95%的宽度,上一个星号应该占一半,现在只有1/3了。它们之间有5个像素的差距,所以需要计算星星的实际百分比。计算公式:首先计算星星的实际百分比宽度:6*10*95%计算空隙宽度:Math.floor(196(总距离)*95%/(16(每颗星星的宽度)+4(spacespacing)))*4两个距离相加得到实际距离js代码letw=16*10*percent+Math.floor(196*percent/(16+4))*4document.getElementById('mask').style.width=(w/196).toFixed(2)*100+'%';完整代码:星级评分<跨度><跨度><跨度><跨度>
<跨度><跨度><跨度><跨度><跨度><跨度>