CSS grid layout - Isotope
by Matt Howey
HTML
<div class="container">
<div class="container-item container-item-1">1</div>
<div class="container-item container-item-2">2</div>
<div class="container-item container-item-3">3</div>
<div class="container-item container-item-4">4</div>
<div class="container-item container-item-5">5</div>
<div class="container-item container-item-6">6</div>
</div>
CSS
body {
margin: 0;
padding: 0;
font-family: arial;
}
.container {
width: 90vw;
height: 100vh;
margin: 20px auto;
/* grid styles */
display: grid;
grid-template-columns: auto auto auto;
grid-template-rows: 100px 150px 50px 80px;
grid-row-gap: 8px;
grid-column-gap: 8px;
}
.container-item {
color: #fff;
text-align: center;
}
.container-item-1 {
background-color: #C91B18;
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 4;
}
.container-item-2 {
background-color: #009036;
grid-column: 2 / span 1;
grid-row: 1 / span 2;
}
.container-item-3 {
background-color: #772164;
grid-column-start: 3;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 1;
}
.container-item-4 {
background-color: #009036;
grid-column-start: 3;
grid-column-end: 3;
grid-row-start: 2;
grid-row-end: 2;
}
.container-item-5 {
background-color: #772164;
grid-column-start: 1;
grid-column-end: 4;
grid-row-start: 4;
grid-row-end: 4;
}
.container-item-6 {
background-color: #772164;
grid-column-start: 2;
grid-column-end: 4;
grid-row-start: 3;
grid-row-end: 3;
}