Reputation: 9184
I have such a sample code:
.items {
display: flex;
flex-flow: wrap;
width: 400px;
height: 200px;
background: yellow;
}
.item {
flex: 50%;
}
<div class="items">
<div class="item">
<span>item 1</span>
</div>
<div class="item">
<span>item 2</span>
</div>
<div class="item">
<span>item 3</span>
</div>
<div class="item">
<span>item 4</span>
</div>
<div class="item">
<span>item 5</span>
</div>
<div class="item">
<span>item 6</span>
</div>
<div class="item">
<span>item 7</span>
</div>
<div class="item">
<span>item 8</span>
</div>
<div class="item">
<span>item 9</span>
</div>
<div class="item">
<span>item 10</span>
</div>
<div class="item">
<span>item 11</span>
</div>
<div class="item">
<span>item 12</span>
</div>
<div class="item">
<span>item 13</span>
</div>
<div class="item">
<span>item 14</span>
</div>
</div>
My items are aligned a bit wrong, so item 2
is to the right of item 1
, and I need to change it a bit...
It should be like so:
item 1 | item 4
item 2 | item 5
item 3 | item 6
Every next item should be under the previous item, and must be wrapper into to columns. Is it possible with a plain CSS & HTML ?
JsFiddle here
Upvotes: 0
Views: 2029
Reputation: 170
.parentClass { display: flex; flex-wrap: wrap; flex-direction: column; border: 1px solid #678596; max-width: 600px; height: 300px;}
.parentClass > div {flex: 1 1 80px; background-color:#678596; margin: 5px; text-align: center; color: #fff;}
<div class="parentClass">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
<div>Six</div>
<div>Seven</div>
<div>Eight</div>
<div>Nine</div>
<div>Ten</div>
</div>
Upvotes: 0
Reputation: 122
you can add flex-direction:column, so that the next element comes to below of the element .4 will come beside 1 . here is the good article you can go through https://gedd.ski/post/flex-wrap/
Upvotes: 0
Reputation: 13568
A bit change in your code,
Add flex-direction: column;
to .items
, and flex: 0 1;
to .item
.items {
display: flex;
flex-flow: wrap;
width: 400px;
height: 200px;
background: yellow;
flex-direction: column;
}
.item {
flex: 0 1;
}
<div class="items">
<div class="item">
<span>item 1</span>
</div>
<div class="item">
<span>item 2</span>
</div>
<div class="item">
<span>item 3</span>
</div>
<div class="item">
<span>item 4</span>
</div>
<div class="item">
<span>item 5</span>
</div>
<div class="item">
<span>item 6</span>
</div>
<div class="item">
<span>item 7</span>
</div>
<div class="item">
<span>item 8</span>
</div>
<div class="item">
<span>item 9</span>
</div>
<div class="item">
<span>item 10</span>
</div>
<div class="item">
<span>item 11</span>
</div>
<div class="item">
<span>item 12</span>
</div>
<div class="item">
<span>item 13</span>
</div>
<div class="item">
<span>item 14</span>
</div>
</div>
Upvotes: 4