CSS subgrid

The CSS grid provided a robust system for layouts, but there were scenarios where nesting grids became complicated. Subgrid, an addition to the CSS grid specification, offers a more seamless way to nest grids. With Subgrid, an inner grid can inherit the grid tracks of its parent, ensuring perfect alignment and reducing the complexities of nested grids.

How to implement Subgrid

The implementation is more straightforward than one might think. First, ensure you’re working with a grid container. Once you’ve established that, any child grid can be turned into a subgrid.


<div class="grid-container">
    <div class="grid-item subgrid-container">
        <!-- Subgrid items here -->


.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

.subgrid-container {
    grid-column: 2 / 3;
    display: grid;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;

In the example above, our subgrid container is inheriting the column structure from its parent grid.

Comparing subgrid with traditional grid

Aligning a nested grid’s tracks with its parent often required workarounds. With Subgrid, this task becomes redundant. It simplifies the process by ensuring consistent alignment and reducing code complexity.

Subgrid is perfect for intricate designs that require precise alignment between parent and child grids. But for more straightforward nested grids, the traditional grid might suffice.

Best practices and common patterns

Subgrid truly shines in responsive designs. When using subgrid, consider the following tips:

Real-world applications of subgrid can be found in card layouts, product grids where alignment is essential, and intricate web designs where nested elements need to maintain a relationship with the parent grid.