Create grid with title and five items
HTML
<section class="container">
<div class="title">title</div>
<div class="main">main</div>
<!-- arbitrary number of "items" loaded dynamically -->
<div class="side">item</div>
<div class="side">item</div>
<div class="side">item</div>
<div class="side">item</div>
<div class="side">item</div>
<div class="side">item</div>
<div class="side">item</div>
<div class="side">item</div>
<!-- here I am manually specifying which ones are full width vs half width, I don't want to need to do this. -->
<div class="item">item</div>
<div class="item">item</div>
</section>
CSS
.container {
height: 90vh;
max-height: 90vh;
display: grid;
grid-template-columns: auto 1fr;
grid-auto-rows: 1fr;
grid-gap: 10px;
grid-template-areas:
"title title"
"main side"
"main side"
"main side"
"item item"
"item item";
}
.container > * {
color: white;
font: arial;
font-size: 14px;
padding: 10px;
margin: 0;
border: 1px solid black;
}
.title {
grid-area: title;
background: #808;
}
.main {
grid-area: main;
background: #040;
aspect-ratio: 1;
width: 60vh;
}
.side, .item {
height: 5vh;
grid-column: -2 / -1;
background: red;
}
.item {
grid-column: span 2;
}