<div class="grid">
<div class="grid__item" data-row-start="1"></div>
<div class="grid__item grid__item--highlight" data-row-start="2"></div>
<div class="grid__item" data-row-start="4"></div>
<div class="grid__item" data-row-start="5" data-row-end="6"></div>
</div>
body {
color: rgb(51 65 85);
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
margin: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
* {
box-sizing: border-box;
}
.grid {
display: grid;
grid-template-rows: repeat(5, 1fr);
border: 1px solid rgb(203 213 225);
height: 24rem;
margin: 2rem;
}
.grid__item--highlight {
background: rgb(203 213 225);
grid-row-start: 2;
grid-row-end: 4;
}
/* Display the row number */
.grid__item {
position: relative;
}
.grid__item:not(:last-child) {
border-bottom: 1px solid rgb(203 213 225);
}
.grid__item::before,
.grid__item::after {
border: 1px solid rgb(203 213 225);
border-radius: 50%;
height: 1.5rem;
width: 1.5rem;
align-items: center;
display: flex;
justify-content: center;
}
.grid__item::before {
background: #fff;
content: attr(data-row-start);
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%, -50%);
}
.grid__item::after {
background: #fff;
content: attr(data-row-end);
position: absolute;
left: 50%;
bottom: 0;
transform: translate(-50%, 50%);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.