这是一个展示我的问题的小提琴:
https://jsfiddle.net/dbfev23h/
本质上,我有一个React Bootstrap<Row>
标签,在它下面,我映射了一个我想要渲染为"的书籍列表;卡片";到屏幕。然而,由于内容的大小;卡片";到处都是。如何使卡片的高度一致为该行中卡片最大高度的高度?
有一件事可能是一个问题,那就是只有一个引导<Row>
,这就是问题吗?
无论如何,我尝试过以下内容的建议:https://scotch.io/bar-talk/different-tricks-on-how-to-make-bootstrap-columns-all-the-same-height和列中相同高度的Bootstrap 4卡,以及使ReactStrap/Bootstrap独立列中的4卡相同高度但无效。
这是我的实际代码:
export class BooksComponent extends React.PureComponent {
render() {
return (
<Row>
this.props.books.map((b, index) => (
<BookComponent
key={index}
title={b.title}
summary={b.summary}
/>
))
</Row>
);
}
}
export class BookComponent extends React.PureComponent {
render() {
return (
<Col md={4}>
<div className="book-item">
<div className="book-title">{this.props.title}</div>
<div className="book-summary">{this.props.summary}</div>
</div>
</Col>
);
}
}
SCSS
.book-item {
margin-bottom: 20px;
padding: 10px;
border: 1px solid gray;
.book-title {
font-size: 1.2rem;
font-weight: bold;
}
.book-summary {
font-size: 0.9rem;
}
&:hover {
cursor: pointer;
box-shadow: 1px 1px 5px gray;
}
}
您需要将.col-md-4
设置为flex,因为只有您才能拉伸子元素。
.col-md-4 {
flex: 0 0 33.3333333%;
max-width: 33.3333333%;
position: relative;
width: 100%;
padding-right: 15px;
padding-left: 15px;
display: flex;
}