如何用 CSS 变量实现进度条百分比显示?

如何用 CSS 变量实现进度条百分比显示?

css 变量数字与字符串间的转换

CSS 中,进度条的进度值通常使用数字表示。但是,当需要将进度值与百分号连接时,使用数字会遇到问题,因为 CSS 无法将数字与字符串连接。同时,如果使用字符串,则无法在 CSS 计算中使用 calc() 函数。

要解决这个问题,可以使用 counter-reset 属性。通过计数器,可以轻松地将数字转换为字符串,同时保留计算功能。

操作步骤:

  1. CSS 中声明一个计数器,并将其初始值设置为数字变量:

    .progress-radial {
        --progress: 25;
    }
    
    .progress-radial b:after {
        counter-reset: showProgress var(--progress);
    }
  2. 将 content 属性设置为计数器的值并附加百分号:

    .progress-radial b:after {
        content: counter(showProgress) '%';
    }

结果:

现在,您可以同时使用计算和连接百分号,就像这样:

.progress-radial {
    --progress: 25;
}

.progress-radial:before {
    transform: rotate(calc(var(--progress) * 3.6deg)) translate(0, -72.5px);
}

.progress-radial b:after {
    counter-reset: showProgress var(--progress);
    content: counter(showProgress) '%';
}

HTML:

<div class="progress-radial">展示进度值:<b></b>
</div>

以上就是如何用 CSS 变量实现进度条百分比显示?的详细内容,更多请关注其它相关文章!