
css 变量数字与字符串间的转换
在 CSS 中,进度条的进度值通常使用数字表示。但是,当需要将进度值与百分号连接时,使用数字会遇到问题,因为 CSS 无法将数字与字符串连接。同时,如果使用字符串,则无法在 CSS 计算中使用 calc() 函数。
要解决这个问题,可以使用 counter-reset 属性。通过计数器,可以轻松地将数字转换为字符串,同时保留计算功能。
操作步骤:
-
在 CSS 中声明一个计数器,并将其初始值设置为数字变量:
立即学习“前端免费学习笔记(深入)”;
.progress-radial { --progress: 25; } .progress-radial b:after { counter-reset: showProgress var(--progress); } -
将 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:
展示进度值:










