'how to sort div in flex row bootstrap [duplicate]
How can I implement a photo-like layout using flexbox?
<div class="row">
<div class="col-md-6"></div>
<div class="col-md-3"></div>
<div class="col-md-3"></div>
<div class="col-md-6"></div>
<div class="col-md-3"></div>
<div class="col-md-3"></div>
</div>
Solution 1:[1]
This is easier done via grid. Here's the implementation:
.row {
display: grid;
grid-template-areas: "a b c" "d d c" "e f c";
grid-gap: 5px;
}
div {
border: 1px solid black;
padding: 5px;
}
.a {
grid-area: a;
}
.b {
grid-area: b;
}
.c {
grid-area: c;
}
.d {
grid-area: d;
}
.e {
grid-area: e;
}
.f {
grid-area: f;
}
<div class="row">
<div class="col-md-6 a">a</div>
<div class="col-md-3 b">b</div>
<div class="col-md-3 c">c</div>
<div class="col-md-6 d">d</div>
<div class="col-md-3 e">e</div>
<div class="col-md-3 f">f</div>
</div>
Solution 2:[2]
* {
box-sizing: border-box;
}
.row {
display: grid;
grid-template-columns: repeat(4, 100px);
grid-template-rows: repeat(3, 200px);
grid-gap: 10px;
width: max-content;
margin: auto;
}
.col {
background-color: red;
display: flex;
justify-content: center;
align-items: center;
}
.col:nth-child(3) {
background-color: blue;
grid-column: 3 / 5;
grid-row: 1 / 4;
}
.col:nth-child(4) {
grid-column: 1 / 3;
}
<div class="row">
<div class="col col-md-3">col3</div>
<div class="col col-md-3">col3</div>
<div class="col col-md-6">col6</div>
<div class="col col-md-6">col6</div>
<div class="col col-md-3">col3</div>
<div class="col col-md-3">col3</div>
</div>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Sana Mumtaz |
| Solution 2 | Arman Ebrahimi |
