Reputation: 2763
How to use CSS to place items into columns without changing the order of the html tags?
<ul>
<li class="column-2">1</li>
<li class="column-1">2</li>
<li class="column-1">3</li>
<li class="column-3">4</li>
<li class="column-3">5</li>
</ul>
Should look like this:
As items are added they should fall into their specified column (Tetris style).
Upvotes: 1
Views: 102
Reputation: 2763
CSS grid with grid-auto-flow: column;
achieves the effect I was looking for.
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-auto-flow: column;
}
.column-1 {
grid-column-start: 1;
}
.column-2 {
grid-column-start: 2;
}
.column-3 {
grid-column-start: 3;
}
<div class="wrapper">
<div class="column-2">1</div>
<div class="column-1">2</div>
<div class="column-1">3</div>
<div class="column-3">4</div>
<div class="column-3">5</div>
<div class="column-1">6</div>
</div>
Upvotes: 1