The grid-row-gap property sets the vertical gutter between rows in a CSS grid container. Negative values are invalid. Gaps appear only between rows, not on the outer edges.
Prefer the modern name row-gap. Use gap when you want row and column gutters together, and grid-column-gap / column-gap for horizontal spacing.
Legacy alias Prefer row-gap
grid-row-gap was replaced by row-gap and remains a working alias. Use row-gap in new CSS.
Default gutters. In grid, normal means no extra row space.
Rows sit flush. Item 1/2 touch item 3/4 vertically.
Useful reset. Clears a larger gap set earlier in the cascade.
Same with 0. Explicit zero length is another way to remove the gutter.
Edge Cases & Pitfalls
Gaps are gutters between tracks — not padding around the grid.
alias
Prefer row-gap for new code
grid-row-gap still works, but row-gap is the standard name and applies beyond grid alone.
edges
No outer padding
Row gap never adds space above the first row or below the last. Use padding/margin on the container for that.
negative
Negative values are invalid
A negative gap is dropped. Stick to 0 or positive lengths/percentages.
one row
One row = nothing to see
With a single row of items, row gap has no adjacent tracks to separate.
shorthand
gap can override both
A later gap declaration sets row and column gutters together and can replace a lone grid-row-gap.
Compatibility
Browser Support
grid-row-gap is a browser style property (legacy alias of row-gap). Node.js, Deno, and Bun do not apply it.
✓ Legacy alias · Widely available
grid-row-gap
Grid alias: Chrome 57+, Firefox 52+, Safari 10.1+, Edge 16+. Modern engines also accept row-gap (prefer that name).
96%grid support
Google Chrome57+
Full support
Mozilla Firefox52+
Full support
Apple Safari10.1+
Full support
Microsoft Edge16+
Full support
Opera44+
Full support
Samsung Internet6+
Full support
Internet ExplorerAll
Not supported
grid-row-gapSupported wherever CSS Grid gaps work
Bottom line: Safe in modern browsers as an alias. Teach and write row-gap going forward; keep grid-row-gap for older grid-only stylesheets.
Remember
Key Takeaways
Role: vertical gutter between CSS grid rows.
Alias: same as row-gap — prefer that name in new CSS.
Default:normal → 0 in grid.
Edges: gaps never pad the outside of the grid.
One line:grid-row-gap is the legacy name for the vertical space between grid rows — use row-gap today.
Frequently Asked Questions
It sets the vertical gutter between rows in a CSS grid. Today it is an alias for row-gap and behaves the same.
Prefer row-gap for new code. It is the standard name and also works in flex and multi-column layouts. Keep grid-row-gap only when maintaining older grid CSS.
normal, which computes to 0 in grid layout (no extra space between rows).
No. Gaps sit only between rows, not above the first row or below the last row.
grid-row-gap / row-gap set only the row gutter. gap is shorthand for row and column gutters together.
As a grid alias: Chrome 57+, Firefox 52+, Safari 10.1+, Edge 16+. It is a browser style property, not a Node.js feature.