直截了当-我已经尝试将display
样式参数从block
替换为flex
,对于flexDirection: 'column'
组件用CardActionArea
替换。这样做的原因是要确保CardContent
连续的每个Card
高度都相同-这是我实现的。但是... CardHeader
和CardContent
在更改width: '100%'
后无法达到display
。下图应阐明我的意思。
以下是相关代码
渲染
<Card className={classes.card}>
<CardActionArea
className={classes.cardActionArea}
onClick={this.loadGroup}
>
<CardHeader
avatar={
<FolderIcon />
}
classes={{
root: classes.header,
title: classes.headerTitle,
subheader: classes.headerSubheader
}}
title={this.state.group.name}
subheader={this.renderModuleCount()}
/>
<CardContent className={classes.content}>
{this.renderContent()}
</CardContent>
</CardActionArea>
<CardActions className={classes.actions}>
<IconButton onClick={this.showDialog}>
<DeleteIcon />
</IconButton>
</CardActions>
</Card>
样式
card: {
width: '30%',
margin: theme.spacing(1),
display: 'flex',
flexDirection: 'column',
},
cardActionArea: {
flexGrow: 1,
display: 'flex',
flexDirection: 'column'
},
header: {
backgroundColor: theme.palette.secondary.main,
color: theme.palette.secondary.contrastText,
width: '100%',
},
headerTitle: {
color: theme.palette.secondary.contrastText,
},
headerSubheader: {
color: theme.palette.secondary.contrastText,
},
content: {
flexGrow: 1,
},
我正在寻找如何解决这个问题。我在
padding
,margin
MUI组件上找不到任何ButtonBase
或CardActionArea
。 最佳答案
终于我找到了解决方案。样式类cardActionArea
需要使用以下内容:
cardActionArea: {
flexGrow: 1,
flexDirection: 'column',
alignItems: 'stretch',
},
结果: