Performance: Row spanning
Row spanning affects layout calculation and paint performance by changing how grid items occupy multiple rows, impacting browser reflows and rendering.
<div class="grid grid-cols-3" style="grid-auto-rows: 6rem;"> <div class="row-span-3">Item 1</div> <div>Item 2</div> <div>Item 3</div> <div>Item 4</div> </div>
<div class="grid grid-cols-3"> <div class="row-span-3">Item 1</div> <div>Item 2</div> <div>Item 3</div> <div>Item 4</div> </div>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Row span without fixed row height | Minimal DOM nodes | Multiple reflows due to dynamic height | Higher paint cost from layout shifts | [X] Bad |
| Row span with fixed grid-auto-rows height | Minimal DOM nodes | Single reflow with stable layout | Lower paint cost with no layout shifts | [OK] Good |
row-span-3 do inside a grid container?row-span-{n} classrow-span-3 meaningrow-span-{number}.row-span-2 matches the correct syntax for spanning 2 rows.<div class="grid grid-rows-4 grid-cols-2 gap-2"> <div class="row-span-2 bg-blue-500">A</div> <div class="bg-red-500">B</div> <div class="bg-green-500">C</div> <div class="bg-yellow-500">D</div> </div>
row-span-2, meaning it covers 2 rows vertically.<div class="grid grid-rows-3 grid-cols-3"> <div class="row-span3 bg-purple-400">Item</div> </div>
row-span3 but Tailwind requires a dash: row-span-3.row-span3, should be row-span-3. -> Option Agrid-cols-3 and grid-rows-4 to match the layout.row-span-2 for vertical spanning and col-span-2 for horizontal spanning.Pass the test and this pattern moves unknown