我尝试将一些相当简单的样式应用到<Dialog>
组件中。在本例中,我尝试使用边界半径来圆角。下面是一些简单的内联样式,我想使用它们来覆盖默认的<Dialog>
样式:
let overrideStyles = {
padding: 0,
margin: 0,
borderRadiusTopLeft: '4px',
borderRadiusTopRight: '4px',
};
<Dialog>
为覆盖内部样式提供了多种可能性,包括bodyStyle
、contentStyle
、style
、titleStyle
、overlayStyle
和actionsContainerStyle
,我决定尝试将这些样式应用于 * 每个 * 样式。
<Dialog
bodyStyle={overrideStyles}
contentStyle={overrideStyles}
style={overrideStyles}
titleStyle={overrideStyles}
overlayStyle={overrideStyles}
actionsContainerStyle={overrideStyles}
modal={overrideStyles}
>
<TestPanel/>
</Dialog>
当我渲染我的TestPanel
时,它最终看起来像这样:
注意边角,我的边界半径还没有应用...我打开检查器,注意到下面的div:
如果我对高亮显示的div应用边界半径样式,对话框的角会像预期的那样变圆。这就引出了我的问题...
如何覆盖材质UI的<Dialog>
组件的样式以在CSS中应用圆角?
5条答案
按热度按时间lndjwyie1#
我用纸 prop 解决了。
这完美的工作为我
ukdjmx9f2#
您可以覆盖样式,如下所示。
m528fe3b3#
不幸的是,Material UI并不是非常风格友好的。在这个例子中,没有可以覆盖的属性来改变border-radius,所以我们必须应用我们自己的类:
然后设置该类的样式,是的,必须在下面的CSS类和TestPanel头上设置border-radius:
这最终看起来像你想要的:screenshot here
希望这有帮助!
camsedfj4#
在创建主题对象时,可以在应用程序中全局覆盖
<Dialog />
样式。MuiDialog
的paper
键将允许您定位border-radius。对话框- CSS API Material UI Theming
9jyewag05#
第一个答案对我不起作用。我试过这个答案,它对我非常有效: