<label>图片1:</label>
<div class="bar" style="--percent: 60;"></div>
<label>图片2:</label>
<div class="bar" style="--percent: 40;"></div>
<label>图片3:</label>
<div class="bar" style="--percent: 20;"></div>
.bar {
height: 20px; width: 300px;
background-color: #f2f2f2;
}
.bar::before {
counter-reset: progress var(--percent);
content: counter(progress) '%\2002';
display: block;
width: calc(100% * var(--percent) / 100);
font-size: 12px;
color: #fff;
background-color: #2486ff;
text-align: right;
white-space: nowrap;
overflow: hidden;
}
- 借助CSS计数器在页面中显示CSS变量的值
- counter(progress)'%\2002’这里的\2002表示空格,主要是为了让进度值文字内容和进度条右侧边缘之间有一定的距离。
核心代码
.bar::before {
counter-reset: progress var(--percent);
content: counter(progress) '%\2002';
width: calc(100% * var(--percent) / 100);