antd修改默认样式

修改antd样式流程

比如我要修改控件A:

首先要去找控件A的api :

这里写图片描述

如果提供api可以修改样式,则可以通过api直接修改。

如果不提供api的话,可以通过className的方式来修改样式。

<Menu.Item 
  key="xxx"
  className={`${style['menu-item']}`}
  style={{backgroundColor: '#e6e6e6' }}
  > 
</Menu.Item>

如上所述,通过style修改,或者css-loader的形式通过添加className来做限定。

还有一种情况,控件是由两个或两个以上的原生控件组成的。比如树节点TreeNode就是由两个span组成的。我们只想修改其中一个span的属性,这个时候就要通过global的方式来设定了。
举个例子
这里写图片描述
可能有人会觉得这个间距太大了,而细看我们生成这个条目的时候,小三角和后面的文字是一个整体<TreeNode>来实现渲染的。调试的时候可以看到这两个分别是两个Span实现的。
这里写图片描述
看他们的css样式:
这里写图片描述

这个时候又分两种情况,我需要这个作用域是全局的吗?

如果是,直接加global限定,由于antd是异步加载,所以一般找一个比较大的父级(比如所有元素都在body中),书写方式如下:

.body :global(.ant-tree li .ant-tree-node-content-wrapper) {
    padding: 3px 5px 3px 0;
}

如果只需要作用于你的小区域,那么就加一个外部距离较近的css来做限定:比如外部有个div叫block

.body .block :global(.ant-tree li .ant-tree-node-content-wrapper) {
    padding: 3px 5px 3px 0;
}

这样就只会作用于你的模块了。

注意两点

1. global后面不要加空格

2.css样式结尾不要加分号

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值