您好,有人可以帮助我处理此html元素吗,我需要能够在进度的右侧放置一个文本值,并根据进度减少文本是否与之匹配
progress {
-webkit-appearance: none;
}
progress::-webkit-progress-bar {
background-color: orange;
}
<progress value="60" max="100"></progress><br/>
<progress value="90" max="100"></progress>
答案 0 :(得分:2)
您应该使用自定义进度栏或具有此选项的库。这是自定义进度栏的示例。使用Javascript
控制before
伪元素的宽度和内容
.progress{
height:30px;
width:300px;
background-color:orange;
position:relative;
}
.progress::before{
position:absolute;
height:30px;
background:green;
content:'50%';// hrere you should add the text
top:0;
left:0;
width:50%;
display:flex;
color:white;
align-items:center;
justify-content:flex-end;
padding-right:10px;
}
<div class="progress"></div>
答案 1 :(得分:2)
我已经使用纯CSS更新了进度栏。让我们尝试使用此示例并评论以获取更多信息。
<div class="progress-bar">
<span data-value="60" style="width: 60%;">60</span>
<progress value="60" max="100"></progress>
</div>
<div class="progress-bar">
<span data-value="90" style="width: 90%;">90</span>
<progress value="90" max="100"></progress>
</div>
{{1}}
答案 2 :(得分:0)
您必须使用最新版本的引导程序,并且它具有内置的css:
示例:
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class="progress">
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">25%</div>
</div>
<br><br>
<div class="progress">
<div class="progress-bar" role="progressbar" style="width: 15%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100">10%</div>
<div class="progress-bar bg-success" role="progressbar" style="width: 30%" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100">20%</div>
<div class="progress-bar bg-info" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">30%</div>
</div>
答案 3 :(得分:0)
您可以使用少量的js和css来实现。 我个人将避免使用跨浏览器样式问题的进度元素。
第三方库虽然不错,但成本很高。 sometimes肿的CSS和JS有时不值得。
希望这会有所帮助。
<style>
.progress {
width: 100%;
position: relative;
background-color: orange;
}
.bar {
width: 0%;
height: 30px;
background-color: green;
text-align: center;
line-height: 30px;
color: black;
}
.bar-text {
position: absolute;
top: 0;
width: 100%;
height: 30px;
text-align: center;
line-height: 30px;
color: black;
}
</style>
<script>
function init() {
var bar = document.getElementById("bar");
var width = 0;
var id = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(id);
} else {
width++;
bar.style.width = width + '%';
document.querySelector('.bar-text').innerHTML = width * 1 + '%';
}
}
}
</script>
<div class="progress" id="progress">
<div class="bar" id="bar"></div>
<div class="bar-text">10%</div>
</div>
<br>
<button onclick="init()">Click Me</button>