Reputation: 23
I am creating a webpage with 6 images in 2 lines. I want to make grid to looks like that, but i can't do it properly. I think i tried everything and nothing works like I was expected. I watched some tutorials and i really don't know why it doesn't work. Could someone tell me what am I doing wrong?
HTML
<section id="section-a">
<div class="image-wrapper">
<figure class="image1">
<img src="img/card1.jpg" alt="">
</figure>
<figure class="image2">
<img src="img/card2.jpg" alt="">
</figure>
<figure class="image3">
<img src="img/card3.jpg" alt="">
</figure>
<figure class="image4">
<img src="img/card4.jpg" alt="">
</figure>
<figure class="image5">
<img src="img/card5.jpg" alt="">
</figure>
<figure class="image6">
<img src="img/card6.jpg" alt="">
</figure>
</div>
</section>
SCSS
#section-a {
.image-wrapper {
display: grid;
grid-template-areas:
"grid1 grid2 grid3 grid4"
"grid5 grid2 grid6 grid6";
grid-gap: 1rem;
.image1 {
grid-area: grid1;
}
.image2 {
grid-area: grid2;
}
.image3 {
grid-area: grid3;
}
.image4 {
grid-area: grid4;
}
.image5 {
grid-area: grid5;
}
.image6 {
grid-area: grid6;
}
}
}
Upvotes: 2
Views: 59
Reputation: 9301
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px;
font-size: 30px;
}
.item1 {
grid-column: 1 / span 1;
grid-row: 1;
}
.item2 {
grid-column: 2;
grid-row: 1 / span 2;
}
.item5 {
grid-column: 3 / span 2;
grid-row: 2;
}
.item6{
}
</style>
</head>
<body>
<h1>A Five Items Grid Layout:</h1>
<div class="grid-container">
<div class="grid-item item1">1</div>
<div class="grid-item item2">2</div>
<div class="grid-item item3">3</div>
<div class="grid-item item4">4</div>
<div class="grid-item item5">5</div>
<div class="grid-item item6">6</div>
</div>
<p>Direct child elements(s) of the grid container automatically becomes grid items.</p>
<p>Item 1, 2, and 5 are set to span multiple columns or rows.</p>
</body>
</html>
Upvotes: 2