I need to build a layout with grid which should be something like the below image:
what I’ve done so far is:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Horizontal Scroll Grid</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="horizontal-scroll-container">
<div class="grid">
<div class="grid-item">Item 1</div>
<div class="grid-item">Item 2</div>
<div class="grid-item">Item 3</div>
<div class="grid-item">Item 4</div>
<div class="grid-item">Item 5</div>
<div class="grid-item">Item 6</div>
<div class="grid-item">Item 7</div>
<div class="grid-item">Item 8</div>
<div class="grid-item">Item 9</div>
<div class="grid-item">Item 10</div>
<div class="grid-item">Item 11</div>
<div class="grid-item">Item 12</div>
<div class="grid-item">Item 13</div>
<div class="grid-item">Item 14</div>
<!-- Add more items as needed
</div>
</div>
</body>
</html>
.horizontal-scroll-container {
width: 100%;
overflow-x: scroll;
}
.grid {
display: grid;
grid-template-columns: repeat(4,230px);
grid-template-rows: 153px 153px;
gap: .5rem
}
.grid-item {
border: 1px solid #ccc;
margin-right: 10px;
}
.grid-item:nth-child(1),
.grid-item:nth-child(5n + 1) {
grid-row: 1/ 3;
grid-column: 1 / 3;
background-color: red
}
it does create the first part if i have 7 items but when i increase the items it does go like column not repeating in a row.
also i should say that each item has 230px width and 153px height but first and every 7th item has twice the width and size of the normal item.