如何优雅地彻底解决 antd 全局样式问题

news/2024/6/18 19:07:35 标签: javascript, 开发语言, ecmascript

背景
由于某些原因,我们团队负责在组件 上做二次开发,简单理解就是封装组件,组件库选择了 antd,尴尬的是引入之后发现,父组件 自身是带一套全局样式的,而 子组件antd 又带了一套全局样式,导致 子组件 的部分样式被覆盖,如图:

在这里插入图片描述
首先 明确完冲突后解决方案有两个
1.提高子组件的样式权重 或者降低父组件的样式权重
2.增加特定的classname名字 增加样式隔离

首先可以给自己组建的的body添加一层classname名字

javascript">    document.getElementsByTagName("body")[0].className="dark-body-class";

全面提高子文文件 ant- 的优先级 感兴趣可以看掘金文章 https://juejin.cn/post/6844904116288749581

增加特定的classname重新覆盖回去

javascript">.dark-theme .dp-component-dark-date.ant-calendar-time-picker-select-option-selected:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.68) !important;
  }

module里边增加特定的classname重新覆盖回去 ,这边推荐使用module样式编写代码,因为外边会增加一层隔离classname哈希值,不容易被覆盖和影响

javascript">className={`test-blue ${styles['operation-span']}`}

总结:更改antd全局的样式,一定一定要加classname做一个隔离,不然会出现不可思议的样式问题,覆盖来覆盖去,全局样式会被污染,切记切记!


http://www.niftyadmin.cn/n/342120.html

相关文章

ChatGLM-6B模型结构组件源码阅读

一、前言 本文将介绍ChatGLM-6B的模型结构组件源码。 代练链接:https://huggingface.co/THUDM/chatglm-6b/blob/main/modeling_chatglm.py 二、激活函数 torch.jit.script def gelu_impl(x):"""OpenAIs gelu implementation."""r…

考研复试刷题第十四天: 表达式树 【二叉树,表达式运算】

1.概念解释: 表达式树其实就是叶节点装树,其他节点装符号的二叉树。 2.题目部分 这道题一开始没理解它的意思,以后写题一定要理解题意之后再动手。尤其是看清楚注意事项。 我一开始拿到题目,以为会有这种情况就是说一个节点之下会有一遍没…

elasticsearch全文检索

前面将结构化查询讲完了,接下来主要学习的是es的全文检索功能,其实如果说全文检索包含哪些搜索方式的话,主要就有大概以下几种: 匹配查询(match query)、短语查询(match phrase query)、短语前缀查询(match phrase prefix)、多字段查询(multi…

ARC137D Prefix XORs

ARC137D Prefix XORs 洛谷ARC137D Prefix XORs 题目大意 给你一个长度为 n n n的序列 A A A和一个整数 m m m。 对 k 1 , 2 , … . m k1,2,\dots.m k1,2,….m,求经过如下 k k k次操作后 A n A_n An​的值 对每个 i ( 1 ≤ i ≤ n ) i(1\leq i\leq n) i(1≤i≤…

pg事务:事务ID

事务ID pg中每个事务都会分配事务ID,事务ID分为虚拟事务ID和持久化事务ID(transactionID)。pg的事务ID非常重要,是理解事务、数据可见性、事务ID回卷等等的重要知识点。 虚拟事务ID 只读事务不会分配事务ID,事务ID是…

PID单环控制(位置环)

今天我们来聊一聊pid如何控制轮子转动位置 前期准备调试过程 前期准备 需要准备的几个条件: 1.获取实时编码器的计数值 2.写好pid控制算法的函数 3.设定好时间多久执行一次pid计算,并设置限幅输出。 4.多久执行一次pid输出 接下来我们看看这几个部分的…

信息安全工程复习

目录 第二章 从口令系统说起 2.1 身份鉴别常见手段及例子 2.2 多因子认证 2.3 计时攻击 2.4 口令机制 2.5 假托和钓鱼 第三章 安全协议 3.1 认证协议 3.2 安全协议攻击 3.3 密钥分配协议 3.4 课后作业 第四章 访问控制 4.1 概念 4.2 控制访问三要素 4.3 控制访问…

[RapidOCRWeb] 桌面版使用教程

引言 说明:桌面版指的是可以直接解压,双击即可运行的版本。通俗来说,对rapidocr_web做了打包,将相关依赖全部放到一个zip包中,不需要本地有额外的环境,降低使用门槛。下面会以Windows版为例,作…