I'm trying to have a list of Material UI components that would have images of the same height. However, the height of some images are lower (and the width of some is too large).
How can I make their height responsive and the same for all cards? Thanks!
css
.card {
max-width: 300px;
height: 100%;
}
.card > button > img {
height: auto;
}
.tsx file
import{ useContext} from "react";
import Card from '@material-ui/core/Card';
import CardActionArea from '@material-ui/core/CardActionArea';
import CardActions from '@material-ui/core/CardActions';
import CardMedia from '@material-ui/core/CardMedia';
import Button from '@material-ui/core/Button';
import FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder';
import Grid from '@material-ui/core/Grid';
import './Catalog.css';
import { MoviesContext } from "../../services/context";
const NavLink = require("react-router-dom").NavLink;
const MovieCards = () => {
const { movies } = useContext(MoviesContext);
return (
<div >
<Grid container spacing={1}>
{movies.map((movie) => (
<Grid item xs={6} sm={2} key={movie.id}>
<NavLink to={"movie/" + movie.id}>
<Card className="card">
<CardActionArea>
<CardMedia
component="img"
alt={"Poster of " + movie.title}
className="BeerListItem-img"
image={movie.picture}
title={movie.title}
/>
</CardActionArea>
<CardActions>
<Button size="small" color="primary">
<FavoriteBorderIcon />
</Button>
<Button size="small" color="primary">
{movie.rating}
</Button>
</CardActions>
</Card>
</NavLink>
</Grid>
))}
</Grid>
</div>
);
}
export default MovieCards;
Give the image a fixed height and width:
.card > button > .jss103{
width: 100%;
height: 500px;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.