'how to sort div in flex row bootstrap [duplicate]

How can I implement a photo-like layout using flexbox?

enter image description here

<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