【React】关于样式覆盖问题持续总结
背景
React现有存在很多相关的三方库,社区很庞大,它们提供了很多封装好的组件供我们使用,提供了很便捷的快速搭建页面的能力。但是提供便利的同时,它也存在一些问题,曾给本菜鸡造成了很多麻烦。其中比较头大的问题就是 样式覆盖 问题。
什么是样式覆盖
简单来说,我们所引用的三方组件都是有自己样式的,并且提供了相关API来控制整体样式。以 material-ui 为例:
其中:Button 组件提供了很多可调整的样式,但是需求就是需要一个非定制化的按钮(比如说圆形的Btn,官方应该是没有的)。所以就需要调整这个Btn的样式。
然后给Btn上面添加样式后发现没有生效 ,原因就是Btn 以组件内 默认样式的优先级为最高。
解决方案
1、先找到控制样式的关键标签:
2、自定义样式文件
1、全局css文件
css文件编译后会对全局生效,无论你css文件存放在那里:
2、module样式文件
也就是module下的scs文件,仅仅对本模块下内容有效(!important 会强制优先级最高):
jsx文件中引入
之前的总结:https://blog.csdn.net/the_fool_/article/details/103973697