According to the spec, and several blogs, the 'align-self' overrides the 'align-items' property of its parent. In the CodePen example, I have used flex-direction: column because align-self only applies to the cross axis. I haven't been able to get rid of the extra white space. I know I could just make each li a container, and align items within them, but I'm really trying to solve with without creating more containers, if possible.
The last item aligns to the end nicely, but everything in between the first and last act almost like 'space-around' but I realize it's really a column that forces each item to wrap. If I remove any alignment properties, the combo of column and flex-wrap causes the items to "distribute". It could be this is a limitation of the flexbox spec... but I'm not sure.
* { box-sizing: border-box; }
ul {
list-style-type: none;
padding: 0;
display: flex;
align-items: flex-start;
border: 1px solid black;
li {
display: flex;
justify-content: center;
width: 100px;
border-right: 1px solid black;
&:last-of-type {
align-self: flex-end;
}
}
}
<ul>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>