html - 基于宽度百分比的 css 或 jquery 进度条上的多种颜色

标签 html css progress-bar

我需要使用 CSS、JS 或您建议的实现进度条。 我需要它是多色的...基于百分比。

例如,如果我有一个 50% 的值,进度条在 30% 之前应该是浅蓝色,在 30% 到 50% 之间应该是绿色。

所以,我设置style="width:xx%"来设置百分比。

有没有制作多色进度条的方法?

enter image description here

我已经试过了:

.progressMulti {
    height: 32px;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 15px;
    text-align: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #333;
    font-size: 20px;
    background: linear-gradient(to right, green 75%, blue 20%, red 5%);
}

但如果设置为宽度 50%,例如,我可以看到所有颜色...相反,它应该只有浅蓝色和绿色,值为 50%。

最佳答案

function set_progress(_num){
	$('#progress').empty();
	var el_1_width=0;
	var el_2_width=0;
	var el_3_width=0;
	var el_4_width=0;
	if(_num>30){el_1_width=30;}else{el_1_width=_num;}
	if(_num>60){el_2_width=30;}else{el_2_width=_num-el_1_width;}
	if(_num>80){el_3_width=30;}else{el_3_width=_num-el_1_width-el_2_width;}
	if(_num>90){el_4_width=_num-90;}
	var new_font_clor='';
	if(_num<55){new_font_clor='color:black';}
	$('#progress').append('<div class="progress-text" style="'+new_font_clor+'">'+_num+' %</div>');
	$('#progress').append('<div class="progress-el" style="background-color:blue; width:'+el_1_width+'%;">&nbsp;</div>');
	$('#progress').append('<div class="progress-el" style="background-color:green; width:'+el_2_width+'%;">&nbsp;</div>');
	$('#progress').append('<div class="progress-el" style="background-color:yellow; width:'+el_3_width+'%;">&nbsp;</div>');
	$('#progress').append('<div class="progress-el" style="background-color:red; width:'+el_4_width+'%;">&nbsp;</div>');

}

set_progress(12);
   #progress{
     border-style:solid;
     border-color:black;
     //border-width:4px;
   }
   .progress-el{
   	 display:inline-block;
   	 height:40px;
   }
   .progress-text{
     position:fixed;
     color:white;
     font-weight:bold;
     width:100%;
     height:40px;
     line-height:40px;
     text-align:center;
     font-size:24pt;

   }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


 <div id="progress"></div>


 <input type="button" value="set 17%" onclick="set_progress(17);">
 <input type="button" value="set 31%" onclick="set_progress(31);">
 <input type="button" value="set 45%" onclick="set_progress(45);">
 <input type="button" value="set 67%" onclick="set_progress(67);">
 <input type="button" value="set 82%" onclick="set_progress(82);">
 <input type="button" value="set 97%" onclick="set_progress(97);">

关于html - 基于宽度百分比的 css 或 jquery 进度条上的多种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50216876/

相关文章:

php - 使用 PHP 隐藏父 div 和子 div?

java - J2EE 应用程序中的速度优化,客户端?

css - Twitter 的 Bootstrap 移动版 : more columns

C++进度条选框样式不起作用

jquery - 构建步骤进度条(css 和 jquery)

jquery - 如何居中对齐向下箭头?

html - 加密 CSS 外部链接并限制访问

dart - 如何显示带有指示进度的点的进度条?

python - 使用 Python 和 lxml 从 HTML 中删除类属性

CSS - float 和调整窗口大小