Performance: Column spanning
Column spanning affects layout calculation and paint performance by changing how grid items occupy space.
<div class="grid grid-cols-4"> <div class="col-span-2">Content</div> <div class="col-span-1">Item 1</div> <div class="col-span-1">Item 2</div> <div class="col-span-1">Item 3</div> <div class="col-span-1">Item 4</div> </div>
<div class="grid grid-cols-4"> <div class="col-span-4">Content</div> <div class="col-span-1">Item 1</div> <div class="col-span-1">Item 2</div> <div class="col-span-1">Item 3</div> <div class="col-span-1">Item 4</div> </div>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Large inconsistent col-span | Moderate | Multiple reflows | High | [X] Bad |
| Small consistent col-span | Low | Single reflow | Low | [OK] Good |
col-span-3 do in a grid layout?col-span-{n}col-span-3 tells the element to cover 3 columns in the grid layout.grid-cols-4 inside a grid container creates 4 columns.col-span-2 on the item makes it cover 2 columns.<div class='grid grid-cols-3 gap-4'> <div class='col-span-2 bg-blue-300'>A</div> <div class='bg-red-300'>B</div> <div class='bg-green-300'>C</div> </div>
<div class='grid grid-cols-3'> <div class='col-span-4 bg-yellow-200'>Item 1</div> <div>Item 2</div> </div>
grid-cols-3.col-span-4, which tries to span 4 columns, exceeding the 3 columns available.grid-cols-6 gives 6 columns, enough for spanning 4 columns on large screens.col-span-2 applies by default (small screens). lg:col-span-4 overrides on large screens to span 4 columns.Pass the test and this pattern moves unknown