首页 > 其他分享 >在js中修改less文件内样式

在js中修改less文件内样式

时间:2023-04-22 09:34:07浏览次数:34  
标签:进度条 样式 text less js -- progress col

title: "在js中修改less文件内样式"
date: 2023-04-21T22:51:58+08:00
tags: ["React", "less", "JavaScript"]
categories: ["前端篇"]

在项目中使用使用进度条时遇到了一点问题,根据需求进度条的百分比需要在条内显示,但是当完成度太低时由于进度条背景和百分比值都是接近的颜色,所以此时无法显示进度值,这个时候需要根据完成度大小来进行判断,动态给进度值设置颜色.
先将实现后的效果图展示出来

处理前
处理后
处理后

如上图所示 ,第一幅图几乎看不出来进度值,此时我们稍作改变

// index.tsx 改变前进度条
// proportion 状态值,通过判断状态来改变进度条
<p className={styles.rate}>
  <Progress
    strokeLinecap="butt"
    strokeWidth={16}
    percent={proportion}
  />
</p>
// index.tsx 改变后进度条
// proportion 状态值,通过判断状态来改变进度条
<p className={styles.rate}>
  <Progress
    strokeLinecap="butt"
    style={
      proportion > 5
        ? { color: "var(--progress-text-col, white)" }
        : { color: "var(--progress-text-col, black)" }
    }
    strokeWidth={16}
    percent={proportion}
  />
</p>

在less中

/* :global 用来覆盖默认样式 */
.rate {
  width: 300px;
  & :global(.ant-progress-inner) {
    padding: 0;
  }
  & :global(.ant-progress-text) {
    position: absolute;
    color: var(--progress-text-col);
    font-size: 12px;
  }
}

接下来介绍一下var在css中的作用

var()是一个css函数,可以插入一个自定义属性,这个自定义属性我们可以在全局复用

var()支持我们传入两个参数,第一个参数是要替换的自定义属性名,第二个参数是可选的,用作回退值,当一个参数无效时,就会使用第二个参数,我们可以利用这一点来给某一个样式的设置值.

当我们的第二个参数是一个时,可以看作给第一个参数赋值,因为第一个参数不起作用就会回退到第二个参数,在上述的less代码中,因为没有在其他位置定义--progress-text-col,所以--progress-text-col这个参数无效回退到white或者black,此时color就是white或者black.

值得注意的是,以上述情景为例,当在其他位置定义了--progress-text-col,此时在less--progress-text-col就会生效,index.tsx内的color赋值操作就会不起作用

标签:进度条,样式,text,less,js,--,progress,col
From: https://www.cnblogs.com/plumliil/p/17342462.html

相关文章

  • 网页滚动条样式修改
    title:网页滚动条样式修改date:2022-12-2116:03:45tags:['Css']categories:["前端篇"]修改网页中侧边滚动条可以对如下几方面进行修改::-webkit-scrollbar:滚动条整体::-webkit-scrollbar-thumb:可拖拽区域::-webkit-scrollbar-track:滚动条轨道::-webkit-scrollba......
  • 用nodejs生成带页码和目录的word
    varofficegen=require('officegen');varfs=require('fs');varpath=require('path');vardocx=officegen('docx');docx.on('finalize',function(written){console.log('FinishtocreateWord......
  • Vue JS项目 添加TypeScript
    VueJS项目添加TypeScript转载请注明来源谢谢git文件全部提交必须全部提交因为会改掉你的文件.很恶心.vue.config.js添加下面内容pages:{index:{entry:'src/main.js'}}项目根目录运行vueaddtypescript如果你英文可以那就忽略这一条.......
  • threejs_动态heatmap渲染
    heatmap>heatmap2d.tsimport{Mesh,Texture,MeshBasicMaterial,PlaneGeometry,Box3,Vector3,}from'three';importBasefrom'../Base';importHeatMap,{DataPoint}from'heatmap-ts';import{log}from......
  • vuejs四舍五入、字符串、数组、Set去重
     url如果使用get方式传递数组。只需传入多个同名参数即可eg: https://test.net/do.action?paramA=valArr1&paramA=valArr2&paramsB=valB此时paramA在后台即可使用数组方式接收————————————————   vue使用newSet去重 constarr=newSet()ThisList.forEach......
  • Json使用toString
    Json的使用:1.对象转Json {"":"",“”:""}2.数组转Json [{"":"",“”:""},{"":"",“”:""}]3.JSon转对象4.Json转数组fastjson是ali的,比较使用于SpringC、SpringB/***转json给前端**@par......
  • EasyExcel格式化映射注解和样式注解详解
     https://blog.csdn.net/qq_44749491/article/details/127879946一、概述使用注解很简单,只要在对应的实体类上面加上注解即可。也就是说使用实体类模型来读写Excel文件时,可以通过注解来控制实体类字段和Excel列之间的对应关系。二、ExcelProperty2.1作用ExcelProperty注解用......
  • mysql-json类型字段多值并查
    mysql8.0.17版本支持json索引.官方文档:https://dev.mysql.com/doc/refman/8.0/en/json.html规则版本是否支持5.7.8版本:支持json类型字段8.0.17版本:支持json类型字段多列索引环境是否支持当前环境中使用的是gorm负责mysql的交互。支持原生sql操作,所以go......
  • 使用PhantomJS解决VUE项目无法被百度收录
    一、安装PhantomJS安装文章:https://www.cnblogs.com/robots2/p/17340143.html二、编写脚本spider.js//spider.js'usestrict';console.log('=====start=====');//单个资源等待时间,避免资源加载后还需要加载其他资源varresourceWait=500;varresourceWaitTimer;/......
  • js递归查询id所对应的节点,查询该节点的父节点,查询该节点的所有子节点
    在工作项目中经常遇到树形结构的数据,而往往我们需要用递归来实现,下面就给大家列举常用的递归操作。   lettreeList=[{id:'1',name:'父一',children:[{id:'1-1',......