【发布时间】:2017-03-20 00:56:53
【问题描述】:
我正在尝试将一些相当简单的样式应用于我的<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,则对话框的角将按预期圆角。这引出了我的问题...
如何覆盖 Material UI 的 <Dialog> 组件的样式以在我的 CSS 尝试时应用圆角?
【问题讨论】:
-
这很棘手,让您想知道他们为什么不这样做;不仅仅是将一些类/子类应用于这些组件(但这是其他帖子中涉及的不同问题)-但是您可以添加自己的类className="my-dialog" 然后你可以做 .my-dialog > div:first-of-type { border-radius: 4px } - 或者添加 overflow:hidden 到你的外部 div 虽然这当然可能有其他意想不到的行为... 总之,它们的样式不好。
标签: css reactjs dialog material-ui