2025年3月29日 星期六 甲辰(龙)年 月廿八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

小tips: 如何借助content属性显示CSS var变量值

时间:02-27来源:作者:点击数:45

一、变量作为字符动态呈现

CSS var变量(CSS自定义属性)很好用,然后,有时候,需要这些变量能够同时作为字符在页面中呈现,我们想到的是使用::before/::after伪元素配合content属性,但是,把CSS变量直接作为content属性值是没有任何效果的。

例如:

  • /* 无效 */
  • .bar::before {
  • content: var(--percent);
  • }

那该如何呈现呢?

二、借助CSS计数器呈现CSS var变量值

示意代码如下:

  • /* 有效 */
  • .bar::before {
  • counter-reset: progress var(--percent);
  • content: counter(progress);
  • }

也就是虽然content属性本身不支持变量,但是counter-reset属性后面的计数器初始值是支持的,于是我们可以来一招移花接木让CSS var变量值作为字符在页面中显示。

三、实际应用案例展示

例如我们需要实现一个进度条效果,已经加载完成了部分的宽度百分比值和进度值是一样的,最好可以通过一个变量控制,这样会大大简化我们的实现。

此时,CSS var变量非常适合使用。

例如下图所示的效果:

单标签与变量实现的上传进度条效果

HTML结构非常简单,就是一个单标签,没有任何嵌套:

  • <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>

关键是CSS,这里就应用了这里的CSS变量值呈现技巧,见下面代码红色高亮部分:

  • .bar {
  • height: 20px; width: 300px;
  • background-color: #f5f5f5;
  • }
  • .bar::before {
  • display: block;
  • counter-reset: progress var(--percent);
  • content: counter(progress) '%\2002';
  • width: calc(1% * var(--percent));
  • color: #fff;
  • background-color: #2486ff;
  • text-align: right;
  • white-space: nowrap;
  • overflow: hidden;
  • }

四、小小结束语

虽然是个小技巧,但很实用,目前我已经在项目中多次使用,写这篇文章也是方便自己快速查找,实际用的时候就把代码拷贝一下,改一下变量名就可以了。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门