在组件内使用 :global 修改 Ant Design 样式,为什么不生效?
在组件内使用 :global 修改 ant design 样式
你期望使用 :global 在组件内修改 ant design 的 button 样式,但未成功。以下是对你的问题的解答:
问题
:global 样式并未如预期般修改 button 的样式。如何才能在组件内自定义 ant design 组件的样式?
解答
如前文所述,global 样式并非以你之前的方式导入。导入的样式是局部样式,而全局样式需要显式指定。
修改后的代码如下:
- import './index.module.css' + import mystyles from './index.module.css' ... - <button classname="mybutton" type="primary" shape="circle">按钮</button> + <button classname={mystyles.mybutton} type="primary" shape="circle">按钮</button>
此外,mybutton 样式的选择器也编写不正确。正确的选择器应该是:
- .mybutton :global(.ant-btn-primary) { + .mybutton:global(.ant-btn-primary) { # 注意没有空格 background-color: red !important }
或者,还可以通过以下方式修改样式,而不使用 css modules:
index.css
.mybutton.ant-btn-primary { background-color: red !important; }
index.tsx
// 导入 index.css,而不是 index.module.css import './index.css' // className 写法与之前相同 return () => <Button className="myButton" type="primary" shape="circle">按钮</Button>;
以上就是在组件内使用 :global 修改 Ant Design 样式,为什么不生效?的详细内容,更多请关注其它相关文章!