首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用样式化组件设置物料ui抽屉组件的背景色?

如何使用样式化组件设置物料ui抽屉组件的背景色?
EN

Stack Overflow用户
提问于 2018-08-09 23:28:15
回答 2查看 7.1K关注 0票数 3

背景

我在我的应用程序中与Styled components一起使用了Material ui绘图。我已经阅读了使用样式化组件对材料ui组件进行样式化的文档,并对几个简单的组件进行了验证。

问题

更改背景颜色并不符合我的预期。简单地将样式添加到带样式的组件中似乎会在错误的级别上应用样式。

我尝试过的东西

代码语言:javascript
复制
import Drawer from '@material-ui/core/Drawer';
import styled from 'styled-components';

const StyledDrawer = styled(Drawer)`
        background-color: red;
`;

结论

根据我所看到的,我需要设置内部部分的样式,称为Paper组件。我没有看到有样式的组件可以做到这一点。

问题

是否可以在具有样式组件的material ui抽屉中设置此隐藏的纸质组件的样式?

EN

回答 2

Stack Overflow用户

发布于 2018-08-15 06:02:33

要样式化抽屉中的内部组件(或其他类似工作的组件),您必须覆盖您想要的组件的类名,以下是如何使用:

https://material-ui.com/customization/overrides/#overriding-with-classes

更快地说:您只需像创建任何其他组件一样创建样式,然后您就可以

<Drawer classes={{ paper: classes.theNameOfTheStyleClass }} />

这样,您就覆盖了特定组件( Paper one)的样式。

在组件的API中,您可以检查可以覆盖哪些类。

这就是这个抽屉API:https://material-ui.com/api/drawer/#css-api

希望它能帮助你:3

票数 7
EN

Stack Overflow用户

发布于 2019-02-28 13:19:18

是的,你是正确的-你的风格是有效的,但由于纸张风格更具体,它被覆盖了。

是的,您可以通过设置抽屉下面的div的样式来使用style-components:

代码语言:javascript
复制
const StyledDrawer = styled(Drawer)`
  & > div {
    background-color: red;
  }
`;

下面是一个有效的代码:https://codesandbox.io/embed/50mp1nnx94?fontsize=14

你不能用类名做到这一点,因为它们是在运行时生成并插入的,所以“纸张”类实际上将被称为"MuiDrawer-paper-2579“,其中你不会事先知道数字。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51770865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档