<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.grid-container {
display: grid;
grid-template-columns: repeat(var(--colum-count), 1fr);
border: 1px solid black;
}
.grid-item {
padding: 10px;
border-bottom: 1px solid black;
border-right: 1px solid black;
background-color: white;
text-align: left;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
<div class="grid-item">10</div>
<div class="grid-item">11</div>
</div>
<script>
window.onload = function () {
const columCount = 5
const gridContainer = document.querySelector('.grid-container')
const childreCount = gridContainer.children.length
document.documentElement.style.setProperty('--colum-count', columCount)
const childList = Array.from(gridContainer.children)
const rowCount = Math.ceil(childreCount / columCount)
childList.forEach((item, index) => {
const position = index + 1
if (position % columCount === 0) {
item.style.borderRight = 'none'
}
const rowPositon = Math.ceil(position / columCount)
if (rowPositon % rowCount === 0) {
item.style.borderBottom = 'none'
}
})
}
</script>
</body>
</html>