The grid-column-gap property sets the size of the gutter between columns in a CSS grid. Space appears only between columns — not on the outer edges of the grid.
Percent of the grid.10% is relative to the content box inline size.
Wider container, wider gap. Resize the grid and the gutters scale.
Tracks shrink a bit. Gap space is reserved between columns, so 1fr tracks share what remains.
No outer padding. Percentage gutters still do not pad the left/right edges.
Edge Cases & Pitfalls
If the gutter looks wrong, check these first.
legacy
Prefer column-gap in new CSS
grid-column-gap still works as an alias. Teach and write column-gap going forward.
edges
No gap on the outer sides
Gutters only sit between columns. Use padding or margin on the container if you need outer inset.
columns
One column means no visible gap
With a single column track, there is nowhere for a column gutter to appear. Add at least two columns.
shorthand
gap can overwrite column spacing
Writing gap after grid-column-gap resets both axes. Put the more specific rule last, or include both sizes in gap.
negative
Negative values are invalid
A negative length is ignored. Use 0 or a positive length/percentage only.
Compatibility
Browser Support
grid-column-gap is a browser CSS property (legacy alias of column-gap). Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
grid-column-gap
Supported everywhere modern Grid works as an alias of column-gap. Prefer column-gap in new stylesheets.
97%Modern browser 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 ExplorerNo (use prefixes / polyfills)
Not supported
grid-column-gapWidely supported (alias)
Bottom line: Safe on modern browsers. Use column-gap for new code; keep grid-column-gap only when maintaining older Grid CSS. It is not a runtime API.
Remember
Key Takeaways
Role: horizontal gutter between grid columns.
Legacy alias: same as column-gap — prefer that name now.
Between tracks only: never pads the outer left/right edges.
Default on grid:normal → no column gap.
One line: grid + grid-column-gap: 20px; (or column-gap) = space between columns only.
Frequently Asked Questions
It sets the horizontal gutter between columns in a grid. It is a legacy name alias for column-gap and behaves the same way.
Yes as a preferred name. Use column-gap in new CSS. grid-column-gap remains a supported legacy alias so older code keeps working.
For grid and flex, normal computes to 0 (no gap). In multi-column layout, normal is 1em. Gaps never apply to the outer edges of the container.
grid-column-gap (or column-gap) sets only the column gutter. gap is the shorthand for both row-gap and column-gap.
No. Gutters sit only between tracks, not between the first/last track and the container edge.
It is Baseline Widely available as an alias of column-gap. Modern Chrome, Edge, Firefox, Safari, and Opera support it. Prefer column-gap for new work. It is a browser CSS property, not a Node.js feature.