我正在尝试在对话框中放置一个CircularProgress。但是对话框背景为白色,无法像早期版本那样设置为透明 - Material UI v0.2
style={{
width: '200px',
marginLeft: '40%',
backgroundColor: 'transparent'
}}
我需要让对话框背景透明。这是我的代码:
<Dialog
bodyStyle={{margin: 0, padding: 0}}
open={true}
style={{
width: '200px',
marginLeft: '40%',
backgroundColor: 'transparent'
}}
overlayStyle={{backgroundColor: 'transparent'}}
>
<CircularProgress
style={{display: 'inline-block'}}
size={50}
color={"#00db49"}
/>
</Dialog>
答案 0 :(得分:5)
您可以使用Dialog组件中的 PaperProps 属性覆盖Paper元素css属性。 (从这里:https://material-ui.com/api/dialog/)
作为一个例子:
<Dialog
onClose={this.handleClose}
aria-labelledby="simple-dialog-title"
{...other}
BackdropProps={{
classes: {
root: classes.root
}
}
}
PaperProps ={{
classes: {
root: classes.paper
}
}}
>
<DialogTitle id="simple-dialog-title">Set backup
account
</DialogTitle>
// code you want is here
</Dialog>
应提供纸张样式:
const styles = {
root: {
backgroundColor: "transparent"
},
paper: {
backgroundColor: "transparent",
boxShadow: "none",
overflow: "hidden"
},
};
希望这会对您有所帮助,这是一个有效的例子:https://codesandbox.io/s/j3wmyv7w2w
答案 1 :(得分:2)
啊..重写材料ui css始终是一个挑战
因为您不能使用样式和类直接覆盖material-ui嵌套div css。 因为对话框还继承了该背景叠加层的 MODAL 属性,这就是为什么你必须使用Modal道具中列出的道具之一的原因,对于这个用例,你必须覆盖背景< / strong>在Modal api docs中列出的道具。
简单来说,只需将此内容写入对话框
即可// outside react class
const styles = {
root: {
backgroundColor: "transparent"
}
};
// In your react class
<Dialog
onClose={this.handleClose}
aria-labelledby="simple-dialog-title"
{...other}
BackdropProps={{
classes: {
root: classes.root
}
}}
>
我在codesandbox中附加了材料ui的工作示例。请参阅下面的
确保使用withStyles()包装组件,如下面的示例
CodeSandBox链接:https://codesandbox.io/s/5xp76wn3xp
要隐藏滚动条,此处已经回答:Hide scroll bar, but while still being able to scroll
如果您需要更多帮助,请告诉我