覆盖材质UI主题的默认主题定义

时间:2019-06-24 11:49:48

标签: javascript material-ui jss

在材料UI默认主题中,存在(css)类MuiTab-root。其中包括设置字体粗细(基于主题的版式定义)。

.MuiTab-root {
  font-weight: 600;
}

这是由withStyles使用createMuiTheme函数生成的。在创建过程中,它使用提供的对象的typography.fontWeightMedium来定义选项卡的字体粗细。 我希望做的是将默认主题的font-weight覆盖为“正常”。理想情况下,通过声明它应该使用typography.fontWeightNormal或失败的方法来手动覆盖字体粗细。

我尝试手动覆盖字体粗细。但是,这没有用。

const theme = createMuiTheme({
    typography: {
        fontWeightMedium: 600,
    },
    overrides: {
        '.MuiTab-root': {
          fontWeight: 400,
        }
    }
});

使用chrome进行的检查显示选项卡的fontWeight仍为600(半粗体)。

如何在此处覆盖默认定义? -还是我必须依赖组件中使用的自定义类?

1 个答案:

答案 0 :(得分:1)

以下是手动覆盖的正确语法:

const theme = createMuiTheme({
  overrides: {
    MuiTab: {
      root: {
        fontWeight: 400
      }
    }
  }
});

Edit Tab font weight override

以下是相关文档:https://material-ui.com/customization/components/#global-theme-override