跳转到内容

全局样式

styleOverrides 键使你能够自定义组件类型所有实例的外观,而属性(props)键使你能够更改组件属性的默认值。

CSS

如果你觉得配置变量的功能不够强大,那么你也可以利用 themestyleOverrides 键来隐式改变 Material-UI 注入到 DOM 中的 每一个样式。 这是一个十分有效的功能。

要用 TypeScript 覆盖实验室组件的样式,请查看 这个文档

const theme = createMuiTheme({
  components: {
    // Style sheet name ⚛️
    MuiButton: {
      styleOverrides: {
        // 规则名
        textPrimary: {
          // 一些 CSS
          color: 'white',
        },
      },
    },
  },
});

每个组件可自定义的部分都被列在文档的 Component API。 例如,您可以参考以下 Button 组件。

全局 CSS

如果您使用 CssBaseline 组件来应用全局重置(global resets),那么也可以将它应用于全局样式。 就像这样:

const theme = createMuiTheme({
  components: {
    MuiCssBaseline: {
      styleOverrides: {
        '@global': {
          html: {
            WebkitFontSmoothing: 'auto',
          },
        },
      },
    },
  },
});

// ...
return (
  <ThemeProvider theme={theme}>
    <CssBaseline />
    {children}
  </ThemeProvider>
);

默认属性

您可以更改所有 Material-UI 组件的默认属性。 该用例展示了在 主题 中的一个 props 键(key)。

要用 TypeScript 覆盖实验室组件的样式,请查看 这个文档

const theme = createMuiTheme({
  components: {
    // 组件名 ⚛️
    MuiButtonBase: {
      defaultProps: {
        // The default props to change
        disableRipple: true, // 全局禁用波纹动画 💣!
      },
    },
  },
});