javascript - 素材卡内容溢出图标栏
问题描述
我正在使用 Material UI 卡。我在每张卡片的底部都有一个图标栏。卡中的媒体超出了图标栏,如下图所示:
这是我将组件放在一起的代码:
return (
<Card className={classes.card} >
<CardHeader
avatar={
<Avatar aria-label={authorAvatar} src={authorImg} className={classes.avatar}/>
}
action={
<Fieldset className={classes.date}>
{postDate}
</Fieldset>
}
title={post.title}
subheader={
<Link to={userUrl}>
{authorName}
</Link>
}
/>
<div>
<CardContent >
<div className={classes.content} dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(bodyHtml)}}></div>
</CardContent>
</div>
<CardActions className={classes.actions} >
<IconButton
className={classnames(classes.unliked, {
[classes.liked]: this.state.liked,
})}
aria-label="Add to favorites"
onClick={this.handleFavourite}
>
<FavoriteIcon />
</IconButton>
以下是课程:
const styles = theme => ({
card: {
marginTop: 20,
sizing, maxHeight: 600,
},
content: {
height: 50,
marginBottom: 100,
//paddingTop: '56.25%', // 16:9
//sizing, maxHeight: 50,
},
actions: {
marginTop: 20,
display: 'flex',
},
我如何让这些东西很好地工作,内容在图标栏之前停止并具有可调节的边距?
解决方案
如果您希望卡片与内容一起扩展,只需从内容样式中删除固定高度并从卡片样式中删除 maxHeight
const useStyles = makeStyles(() => ({
card: {
marginTop: 20,
sizing
},
content: {
marginBottom: 100
//paddingTop: '56.25%', // 16:9
//sizing, maxHeight: 50,
},
actions: {
marginTop: 20,
display: "flex"
}
}));
https://codesandbox.io/s/material-demo-forked-jp1xe?file=/demo.js
但是,如果您想让它们保持最大高度,只需在内容中添加溢出样式
content: {
height: 50,
marginBottom: 100,
overflow: 'auto',
//paddingTop: '56.25%', // 16:9
//sizing, maxHeight: 50,
},
推荐阅读
- node.js - Nestjs如何将数据从AuthGuard传递到控制器
- java - 每个 Route 对象只允许一个子路由器
- vue.js - Vue js - 将我所有的代码放在手表中是否正确?
- flutter - 添加索引以构建方法,其中 alertDialog 在 Flutter 中
- python - 获取所有可能的长度为 N 的块
- javascript - 在所有浏览器中添加到购物车后显示弹出窗口
- javascript - 复选框禁用角度
- asp.net-core - 在 Visual Studio 2019 中无法连接到 SQL Server Express
- ros - ROS桥服务器
- amazon-web-services - AWS Quicksight 上的嵌套平均值