【问题标题】:Material UI : CardMedia Round Image材质 UI:CardMedia 圆形图像
【发布时间】:2021-04-01 22:44:12
【问题描述】:

我是全栈开发的新手,我正在尝试编写一些代码来更好地理解 React JS 和 Material UI 的前端。我使用卡片组件在后端显示帖子,但我想显示个人资料图片(通过 CardMedia)循环,所以我决定像这样覆盖组件:

import React, { Component } from 'react'
import {Link} from 'react-router-dom';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';

import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import DeletePost from './DeletePost'
import PostDialog from './PostDialog'
//MUI
import withStyles from '@material-ui/core/styles/withStyles'
import CardMedia from '@material-ui/core/CardMedia';
import CardContent from '@material-ui/core/CardContent';
import Card from '@material-ui/core/Card';
import Typography from '@material-ui/core/Typography';
import ChatIcon from '@material-ui/icons/Chat'
import MyButton from '../../utils/MyButton';

const styles = {
    card: {
        display: "flex",
        marginBottom:20,

    },
    image:{
        minWidth: 100,
        minHeight: 100,
        borderRadius: '50%',
        objectFit: 'cover'
        
    },
    content:{
        objectFit: 'cover'
    }
    
    

}

class Post extends Component {
return (
            <Card className={{root: classes.card}}>
                <CardMedia
                    image={userImage}
                    title="Profile image"
                    className={classes.image}
                    />
                    
                    
                    <CardContent className={classes.content}>
                        <Typography 
                            variant="h5"
                            component={Link} 
                            to={`/users/${userHandle}`} 
                            color="primary">
                            {userHandle}
                        </Typography>
                        {deleteButton}
                        <Typography variant="body2" color="textSecondary">
                            {dayjs(createdAt).fromNow()}
                        </Typography>
                        <Typography variant="body1">{body}</Typography>
                        
                    </CardContent>
            </Card>
        )
}
Post.propTypes = {
    user: PropTypes.object.isRequired,
    post: PropTypes.object.isRequired,
    classes: PropTypes.object.isRequired,
    openDialog:PropTypes.bool
}

const mapStateToProps = state =>({
    user: state.user
})


export default connect(mapStateToProps)(withStyles(styles)(Post));


但是图像看起来是椭圆形的并且被拉伸了。我该如何解决这个问题?

【问题讨论】:

  • 您的代码不完整,很难诊断问题。你能发布你的完整代码吗?
  • 我已经添加了我所有的代码

标签: javascript css reactjs material-ui


【解决方案1】:

从图像的 css 中,您设置了 minHeight 和 minWidth。您希望将高度和宽度显式设置为等于 px。让我知道这是否有效。

【讨论】:

    猜你喜欢
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 2017-07-29
    • 2020-01-18
    • 2020-02-20
    相关资源
    最近更新 更多