如何在flexbox模型中为孩子覆盖align-content: flex-start
?我想将.Card__bottom移动到卡的底部。或者也许我可以不用align-content: flex-start
来实现?但是,当我删除此属性时,我会得到更大的行距
body {
background: #dddddd;
padding: 30px;
}
.Card {
width: 320px;
min-height: 200px;
background: #fff;
border-radius: 12px;
padding: 30px 20px 20px 30px;
display: flex;
justify-content: space-between;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start;
align-content: flex-start;
}
.Card__heading {
margin: 0;
flex-basis: 200px;
}
.Card__icon-wrapper {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}
.Card__description {
margin: 10px 0;
}
.Card__action {
margin: 0 0 10px;
align-items: center;
width: 100%;
}
.Card__bottom {
align-self: flex-end;
}
<div class="Card">
<h2 class="Card__heading">
Heading
</h2>
<div class="Card__icon-wrapper">
<span class="Card__icon">🧢</span>
</div>
<p class="Card__description">
Description
</p>
<p class="Card__action">
Action Text
</p>
<div class="Card__bottom">
Bottom
</div>
</div>
我将添加一个额外的容器,将底部和顶部分开
<div class="Card">
<div class="Card__top">
<h2 class="Card__heading">
Heading
</h2>
<div class="Card__icon-wrapper">
<span class="Card__icon">🧢</span>
</div>
<p class="Card__description">
Description
</p>
<p class="Card__action">
Action Text
</p>
</div>
<div class="Card__bottom">
Bottom
</div>
</div>
并交换以下CSS:
.Card {
width: 320px;
min-height: 200px;
background: #fff;
border-radius: 12px;
padding: 30px 20px 20px 30px;
display: flex;
justify-content: space-between;
flex-direction: column;
}
尝试使用下面的CSS更新代码
.Card__bottom {
align-self: flex-end;
position: absolute; /* Newly added */
}