JSFiddle - React, Tailwind, and code Playground
HTML
<div class="table">
<div class="row">
<div class="item item-a">A</div>
<div class="item item-b">B</div>
</div>
<div class="row">
<div class="item rowspan-2 item-a">aa</div>
<div class="item item-b">bb</div>
<div class="item item-b">bb</div>
</div>
<div class="row">
<div class="item item-a">a</div>
<div class="item item-b">b</div>
</div>
<div class="row">
<div class="item rowspan-3 item-a">a</div>
<div class="item item-b">b</div>
<div class="item item-b">b</div>
<div class="item item-b">b</div>
</div>
</div>
SCSS
.table {
display: grid;
text-align: center;
width: 50%;
background: #efefef;
}
.item {
display: grid;
border: 1px solid #000;
align-items: center;
padding: 10px;
}
.row {
display: grid;
grid-template-columns: .5fr .5fr;
&:nth-child(even) {
background: #f77;
}
}
@mixin rowspan($n) {
.rowspan-#{$n} {
grid-row: span $n;
}
}
@for $i from 1 through 10 {
@include rowspan($i);
}
.item-a {
grid-column: 1;
}
.item-b {
grid-column: 2;
}