[英]Css flex-box - How to align a single item to the bottom while keeping the other items to the top
我玩flex-box已有一段时间了,但是现在我遇到了一个问题。 我做了几个盒子,每个盒子里面有3个项目,一个图像一个段落,一个按钮。 图像和段落需要保留在顶部,而按钮需要在其行的底部对齐。 感谢您的时间 :)
HTML:
<div class="parent">
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam metus felis, porttitor ac est id, vestibulum vestibulum metus. Vestibulum</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>e egestas, dui nibh gravida urna</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>Suspendisse eta</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>orem ipsum dolor sit amet</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam metus felis, porttitor ac est id, vestibulum vestibulum metus. Vestibulum</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>e egestas, dui nibh gravida urna</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>orem ipsum dolor sit amet</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p> est id, vestibulum vestibulum metu</p>
<input type="button" value="bring me down!">
</div>
<div class="child">
<img src="http://www.placehold.it/50/50">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam metus felis, porttitor ac est id, vestibulum vestibulum metus. Vestibulum</p>
<input type="button" value="bring me down!">
</div>
</div>
CSS:
.parent {
width: 500px;
display: flex;
flex-wrap: wrap;
}
.parent .child {
border: 1px solid black;
flex: 1 1 32%;
}
.parent .child img {
max-width: 100%;
}
.parent .child input {
width: 100%;
align-self: flex-end; /*alignment not working*/
}
你可以这样做:
使用position: absolute
,将按钮固定在bottom
并在主div上使用相同的padding-bottom
,以调整按钮的height
。
CSS
.parent {
width: 500px;
display: flex;
flex-wrap: wrap;
}
.parent .child {
border: 1px solid black;
flex: 1 1 32%;
position:relative;
padding-bottom: 20px;
box-sizing: border-box;
}
.parent .child img {
max-width: 100%;
}
.parent .child input {
width: 100%;
bottom: 0;
position: absolute;
}
子级基本上是一列,因此您可以使用flexbox和flex-direction
列。
.parent {
width: 500px;
display: flex;
flex-wrap: wrap;
}
.parent .child {
border: 1px solid black;
flex: 1 1 32%;
display: flex;
flex-direction: column;
align-items:flex-start;
}
.parent .child input {
width: 100%;
margin-top: auto;
align-self: flex-end;
}
.parent { width: 500px; display: flex; flex-wrap: wrap; } .parent .child { border: 1px solid black; flex: 1 1 32%; display: flex; flex-direction: column; align-items: flex-start; } .parent .child img {} .parent .child input { width: 100%; margin-top: auto; align-self: flex-end; }
<div class="parent"> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam metus felis, porttitor ac est id, vestibulum vestibulum metus. Vestibulum</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>e egestas, dui nibh gravida urna</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>Suspendisse eta</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>orem ipsum dolor sit amet</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam metus felis, porttitor ac est id, vestibulum vestibulum metus. Vestibulum</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>e egestas, dui nibh gravida urna</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>orem ipsum dolor sit amet</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>est id, vestibulum vestibulum metu</p> <input type="button" value="bring me down!"> </div> <div class="child"> <img src="http://www.placehold.it/50/50"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam metus felis, porttitor ac est id, vestibulum vestibulum metus. Vestibulum</p> <input type="button" value="bring me down!"> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.