如何修改antd的样式

本文介绍了如何在React应用中更改Ant Design(Antd)Button组件的默认颜色。当直接在局部样式中修改无效时,可以尝试在全局样式中修改按钮颜色,或者利用:global伪类选择器来包裹antd样式名。两种方法均能成功改变按钮背景色为红色。
摘要由CSDN通过智能技术生成

如图,我使用了一个antd的Button组件,默认颜色为蓝色

//global.jsx
import { Button } from 'antd';
import React from 'react';
import style from "./global.module.css"

function Global() {
  return (
    <div className={style.global}>
      <Button type="primary">点我</Button>
    </div>
  );
}

export default Global;
 
/*global.module.css*/
.global {
  margin: 50px auto;
  text-align: center;
}

假如我想把颜色改为红色

如果直接在局部样式中添加css,会发现没有效果,因为此时的(.ant-btn)会被转义成类似于(global_global__2Qy24)这种格式,而与按钮的class的属性名对应不上

/*global.module.css*/
.global {
  margin: 50px auto;
  text-align: center;
}

.global .ant-btn {
  background: red
}

1. 可以在全局样式中修改按钮的颜色

//global.jsx
import { Button } from 'antd';
import React from 'react';
import style from "./global.module.css"


function Global() {
  return (
    <div className={`${style.global} global`}>
  		<Button type="primary">点我</Button>
  	</div>
        );
}


export default Global;
/*index.js*/
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
    "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
    monospace;
}


.global .ant-btn {
  background: red;
}

2. 通过css的伪类 :global来包裹antd样式名

//global.jsx
import { Button } from 'antd';
import React from 'react';
import style from "./global.module.css"


function Global() {
  return (
    <div className={style.global}>
    <Button type="primary">点我</Button>
    </div>
  );
}


export default Global;
/*global.module.css*/
.global {
  margin: 50px auto;
  text-align: center;
}


.global :global(.ant-btn) {
  background: red
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值