-1

How would I achieve the following using CSS grid:

CSS GRID DESIGN

I have tried the following:

.gridContainer{
    display: grid;
    grid-template-columns: auto auto auto auto auto ;
    grid-template-areas: "Red  Blue ";
    grid-template-rows: auto;
    .Red{
        grid-area: Red;
        max-width: 500px;
    }

    .Blue{
        grid-area: Blue;
        max-width: 250px;
    }
}

But the blue squares just stack one on top of each other. There will be more blue squares added in and they must stack around the red one.

TylerH
  • 20,799
  • 66
  • 75
  • 101

1 Answers1

0

I extend you code a little bit. Hope it helps:

.parent {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 2px;
  grid-row-gap: 2px;
  background: black;
}
.parent div { 
  background: blue;  
  text-align:center;
  padding:20px; 
  font-size: 30px;
  font-weight: bold;
}
.parent .div1 {
  background: red;
}

.div1 { grid-area: 1 / 1 / 3 / 3; }
.div2 { grid-area: 1 / 3 / 2 / 4; }
.div3 { grid-area: 1 / 4 / 2 / 5; }
.div4 { grid-area: 1 / 5 / 2 / 6; }
.div5 { grid-area: 2 / 3 / 3 / 4; }
.div6 { grid-area: 2 / 4 / 3 / 5; }
.div7 { grid-area: 2 / 5 / 3 / 6; }
.div8 { grid-area: 3 / 1 / 4 / 2; }
.div9 { grid-area: 3 / 2 / 4 / 3; }
.div10 { grid-area: 3 / 3 / 4 / 4; }
.div11 { grid-area: 3 / 4 / 4 / 5; }
.div12 { grid-area: 3 / 5 / 4 / 6; }
 <div class="parent">
<div class="div1"> 1 </div>
<div class="div2"> 2 </div>
<div class="div3"> 3 </div>
<div class="div4"> 4 </div>
<div class="div5"> 5 </div>
<div class="div6"> 6 </div>
<div class="div7"> 7 </div>
<div class="div8"> 8 </div>
<div class="div9"> 9 </div>
<div class="div10"> 10 </div>
<div class="div11"> 11 </div>
<div class="div12"> 12 </div>
</div>
Maik Lowrey
  • 15,957
  • 6
  • 40
  • 79