react修改antd组件样式不影响其他地方组件样式

用Popover组件举例:

要求:不同的地方popover组件的边框颜色不一样

代码:

<Popover 
   overlayClassName='namespace'  
   content={ 
		<p style={{textAlign:'center',color:"#00C895"}}>展示内容</p>
   } 
   placement="right"
>
   <span>hover展示框框</span>
</Popover>

注意:起作用的就是overlayClassName='namespace',overlayClassName是为节点不在root内部的dom内而设置的一个类名,像tooltip,popover这种组件dom节点都是在root节点外生成的,如下图:所以当你在root节点里面的类名去添加样式时是不起作用的

设置了overlayClassName='namespace'就相当于是给pop over外层盒子加上了一个类名namespace,如图:

对应的css样式修改,:

:global{
  .namespace .ant-popover-content > .ant-popover-arrow, .ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow, .ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow{
		...
	}
	.namespace .ant-popover-inner-content {
		...
	}
	.namespace .ant-popover-arrow {
		...
	}
}

这样就可以修改你想要修改的antd组件样式,而不会影响到其他antd地方的组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值