【发布时间】:2017-11-14 09:47:32
【问题描述】:
有什么方法可以完全覆盖所有 material-ui 样式并让组件遵循您自己的完全自定义样式指南?本质上,擦除所有material-ui样式并从它们的html骨架开始?使用 mui 或 themeProvider 为 material-ui 组件创建新主题还不够健壮。
我查看了@material-ui 源代码,它们有一个styles.root 变量。有没有办法访问该对象并使其更健壮?我愿意接受任何想法和建议。
到目前为止没有奏效的是:
- 主题管理器
- mui主题
- 内联样式(不能访问组件的子元素)
- 类样式(您必须将 !important 与许多 css 属性一起使用,我们正在努力避免这种情况)
【问题讨论】:
-
如果抹去所有样式,材质外观会留下什么?听起来你最好创建自定义组件。
-
@lux 所有material-ui交互、文档和支持/社区都非常有用:我们只希望组件看起来非常不同并保持其功能。但你是对的,我们也讨论过这个问题,而且看起来越来越有可能这是我们必须采取的路线。在我们建立一个完全定制的图书馆之前,我只是确保没有任何替代解决方案
-
知道了,我只能通过 ThemeManager 覆盖 muiTheme,但似乎还没有完全删除样式本身的情况。你也可以在他们的 github 问题页面上发布这个。
-
感谢@lux!我会发帖看看他们怎么说
-
听起来这是一个足够广泛的更改,您可能希望分叉源代码并将默认样式的 CSS/JS 代码替换为空样式。例如对于
Button组件,只需将样式对象替换为所有键都相同但值只是空对象的对象{}:github.com/mui-org/material-ui/blob/next/packages/material-ui/…
标签: css reactjs styling material-ui