当前位置: 首页 > 知识库问答 >
问题:

如何使用Material-UI-React覆盖外部[第三方]组件的CSS?

萧展鹏
2023-03-14

我正在尝试覆盖一个外部组件的默认CSS,它不是在Material-UI或我的项目中开发的。在styled-components中,我可以使用根类并用自定义CSS替换它们。我如何用Material-UI-React做同样的操作?

.ace-tm .ace_variable {
color : red
}

假设我必须用新的颜色属性替换这两个类,我如何在材质样式中做到这一点呢?

这是我试过的,但没有运气!


const Styles = {
  " & ace-tm": {
    "& ace_variable": {
      color: red,
      fontSize: "16px"
    },
  }
};

我使用withStyles稍后将它们注入到组件中。

共有1个答案

酆浩邈
2023-03-14

我只是发现了这一点,并认为我应该为后代分享解决方案:

const GlobalCss = withStyles((theme) => ({
  '@global': {
    '.ace-tm .ace_variable': {
      color: 'red',
    },
  },
}))(() => null)

const SomeComponent = () => {
  return (
    <>
      <GlobalCss />
      <h1>Hey Jude</h1>
      <SomeComponentWhoseCSSWillBeModified />
    </>
}

欲了解更多信息,请访问:https://material-ui.com/styles/advanced/#global-css

 类似资料:
  • 在我的情况下,我希望客户机能够将自己的bean(实现公共接口)注入到我的类中,但在其他情况下使用默认bean。 在TestClass中使用@AutoWired,如果客户端尝试将TestClass与自己的ConfigInjector实现(ExternalConfigInjector)一起使用,那么将存在多个ConfigInjector实现,从而导致NoUniqueBeanDefinitionExce

  • 问题内容: 我如何在 不 使用以下代码的 情况下 隐藏/删除TextField组件中的下划线: 我想用道具,并根据文档:https : //material- ui.com/api/input/ 我应该能够更改下划线道具,但是它不起作用。 问题答案: 这是您的操作方式: 我怎么知道的? 您已链接到文档,该文档确实具有支持。 但是,您正在使用组件: 重要的是要了解,文本字段是以下组件之上的简单抽象:

  • 我正在使用材料UI选择组件在我的反应项目。 我正在尝试重写CSS类和或。 我的选择组件: 下面不行吗?

  • 问题内容: 可以说我希望每个组件都具有默认的道具吗? 问题答案: 此处的文档位于: https //material-ui.com/customization/globals/#default-props 这是如何执行此操作的示例:

  • 问题内容: 我有使用内联样式的标记,但是我无权更改此标记。如何仅使用CSS覆盖文档中的内联样式?我不想使用jQuery或JavaScript。 HTML: CSS: 问题答案: 覆盖内联样式的唯一方法是使用CSS规则旁边的关键字。以下是一个示例。 重要笔记: 使用不是一个好的做法。因此,您应避免同时使用内联样式。 将关键字添加到任何CSS规则后,该规则就可以 强行优先 于该元素的 所有其他CSS规

  • 我希望外部文件的属性覆盖内部值(如果它们存在于外部文件中)。 在我的configuration类中,我使用PropertySource注释设置文件: