align self
属性取决于项相对于横轴而不是主轴的对齐方式。所以这不是要走的路。但是,您可以通过几种方法使用flexbox实现此目的:
1)在中间项目上使用flex-grow:1。这将使其增长,并占用容器中的所有剩余空间,从而将最后一个div推到底部。
2)重构布局,以便有一个主要的div,justify-content:space-between
以便最后一个div停留在底部:
.container{
display:flex;
flex-direction:column;
justify-content:space-between;
}
.body{
display:flex;
flex-direction:column;
}
.bottom{
}
<div class="container">
<div class="body">
<div>top content</div>
<div>middle content</div>
</div>
<div class="bottom">
bottom content
</div>
</div>
3)这有点奇怪,但是您甚至可以使用align-self
但反转flex方向并允许包装的东西来做到这一点:
.container{
display:flex;
flex-direction:row;
flex-wrap:wrap;
}
.body{
display:flex;
flex-direction:column;
flex-basis:100%;
}
.bottom{
align-self:flex-end
}
我已经使用免费的flexbox设计器对所有这些进行了测试:http://algid.com/Flex-Designer