我正在尝试构建一个定价表,其中每列包含一张卡片。我希望所有卡片都伸展到其父(.col)元素的高度。
注意:我正在使用Bootstrap 4,并尝试使用现有网格系统(为了保持一致性)并使用此特定标记来实现此目的。我无法让卡片增长到父容器的高度。这是否可以使用当前标记?
基本标记是:
<div class="row">
<div class="col">
<div class="card">
blah
blah
blah
</div>
<div class="card">
blah
</div>
<div class="card">
blah
</div>
</div>
</div>
答案 0 :(得分:4)
将flex-grow : 1;
添加到您的.card
规则中。 HTML标记很好。
.row {
display: flex;
flex-flow: row wrap;
background: #00e1ff;
margin: -8px;
}
.col {
display: flex;
flex: 1 0 400px;
flex-flow: column;
margin: 10px;
background: grey;
}
.card {
display: flex;
padding: 20px;
background: #002732;
color: white;
opacity: 0.5;
align-items: stretch;
flex-direction: column;
flex-grow: 1;
}
您还可以查看Foundation 6 Equalizer插件。他们使用JavaScript。
答案 1 :(得分:2)
只需将flex: 1
添加到card
课程即可。应该够了。在这堂课中你不需要display: flex; align-items: stretch; flex-direction: column
。
答案 2 :(得分:1)
您只需在height: 100%
.card
即可
.card {
display: flex;
padding: 20px;
background: #002732;
color: white;
opacity: 0.5;
align-items: stretch;
flex-direction: column;
height: 100%;
}
答案 3 :(得分:1)
添加高度:100%到.card
.card {
display: flex;
height: 100%;
padding: 20px;
background: #002732;
color: white;
opacity: 0.5;
align-items: stretch;
flex-direction: column;
}
答案 4 :(得分:0)
只需将.card
高度设为100%即可。
.card{
height: 100%;
display: flex;
padding: 20px;
background: #002732;
color: white;
opacity: 0.5;
align-items: stretch;
flex-direction: column;
}
答案 5 :(得分:0)
如果您使用的是Bootstrap 4,它们已经具有您要实现的内置类。
将card-deck
添加到<div class="row card-deck">