gpt4 book ai didi

html - 如何填充一个字形图标的百分比 [Bootstrap 3]

转载 作者:太空狗 更新时间:2023-10-29 15:27:03 27 4
gpt4 key购买 nike

您好,我有 5 星评级系统,我想添加 4.3 星,而不仅仅是 4 星。我该怎么做?下面列出了我当前的代码:

<center>
<span class="glyphicon glyphicon-star" style="color:#BBD41C"></span>
<span class="glyphicon glyphicon-star" style="color:#BBD41C"></span>
<span class="glyphicon glyphicon-star" style="color:#BBD41C"></span>
<span class="glyphicon glyphicon-star" style="color:#BBD41C"></span>
<span class="glyphicon glyphicon-star"></span>
</center>

最佳答案

您可以重叠 2 个绝对定位的 div。每个都包含所有 5 颗星。然后顶部的 div 可能有一个 overflow:hidden div,您可以在其中将宽度设置为一个百分比(基于评级)。

这是我放在一起的代码笔来说明它:http://codepen.io/anon/pen/ogBWwX代码片段被复制到下面以供引用,并包含一些超出演示目的所需的额外内容。

HTML:

<div class="container">
<div class="flt_left">
<form id="star_form">
<label for="star_input">Stars:</label>
<input type="text" id="star_input" />
<button id="setStars">Set Rating</button>
</form>
</div>
<div class="flt_left">
<div id="star_box">
<div class="star_limiter">
<div class="longbar">
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
</div>
</div>
</div>
<div class="star_bg">
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
</div>
</div>
<div style="clear:both;"></div>
<p id="rating_data"></p>
</div>

CSS:

.container{
padding: 15px;
margin: 10px;
}
p{
margin: 10px 0;
}
.flt_left{
float: left;
margin-right: 10px;
position: relative;
/*min-width: 250px;*/
}
#star_box,
.star_bg{
color: #BBD41C;
position: absolute;
margin: 4px 0;
top: 0;
left: 0;
display: table;
}
.glyphicon{
display: table-cell;
padding: 0 0 0 2px;
font-size: 18px;
}
#star_box{
z-index: 2;
}
.star_bg{
color: #555;
}
#star_box .star_limiter{
width:100%;
overflow: hidden;
position: relative;
}

Javascript:

function setWidth(perc){
$('#star_box .star_limiter').css('width',perc+'%');
}
function starToPercent(amt,outof){
if(typeof outof == 'undefined') outof = 5;
var percent = Math.round(amt*100/outof);
if(percent > 100) percent = 100;
$('#rating_data').text(amt+' of '+outof+' stars, or '+percent+'%');
setWidth(percent);
}
function setRating(){
var input = parseFloat($('#star_input').val());
var num_stars = $('#star_box .star_limiter .glyphicon-star').length;


if(!isNaN(input)) starToPercent(input, num_stars);
}

$(document).ready(function(){
var star_width = $('#star_box').width();
var star_height = $('#star_box').height();
$('#star_box').css('width',star_width+'px');
$('#star_box .star_limiter').css('height',star_height+'px');
$('#star_box .longbar').css('width',star_width+'px');

$('#setStars').click(setRating);
$('#star_form').submit(function(e){
e.preventDefault();
setRating();
});
});

注意事项:重叠的星星看起来不太好,因为您会在边缘看到一些背景星星的颜色。所以,如果你摆脱背景星星并只使用纯色,它看起来会更好。颜色越匹配,它也就越不明显。

我将字形的 CSS 设置为 display:table-cell 以防止它们环绕并将它们靠得更近。星星之间的空间越大,漂浮物上的结果就越不准确。

关于html - 如何填充一个字形图标的百分比 [Bootstrap 3],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21468228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com