Each column is completely unaware of the size/position of the content in other columns, so I don't think this is going to work like you want it to.
Flex-grow defines the ability to grow if necessary, to distribute the space in a particular row/column, and then those numbers just define a ratio relationship with the other elements in that particular column. (example: an element with flex-grow:4
will be 4x the size of an element with flex-grow:1
)
That "if necessary" part comes into play with your first column. Since initially .container
doesn't have a defined height, there's no extra space to be distributed. So each element is slotted into the column at their default height, which in this case would be the line-height of the li
Below is a visual representation that hopefully helps clarify how the sizes of things are being determined.
