Count backward. On a 3-column grid, -1 is the end edge; -2 is the start of the last track.
Pin to the last column.-2 with a default span of 1 fills that last column.
Useful pattern. Stay correct even if you later add more columns.
Remember:0 is invalid; use 1 or a negative integer.
Edge Cases & Pitfalls
If placement looks wrong, check these first.
lines
Lines ≠ columns
Three columns create four lines. grid-column-start: 2 starts at the second line, not “column index 2” in every mental model.
zero
Line 0 is invalid
Use 1 or higher, or a negative integer from the end. Zero is discarded.
shorthand
grid-column can overwrite start
Writing grid-column after grid-column-start replaces both edges. Put the longhand last, or include the start in the shorthand.
container
Only works on grid items
The parent must be a grid (or the item absolutely positioned against a grid). On a block parent, the property has no effect.
overlap
Items can share cells
Explicit placement can stack items in the same area. That is allowed — use it on purpose, or adjust lines to avoid surprise overlaps.
Compatibility
Browser Support
grid-column-start is a browser CSS property for Grid item placement. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
grid-column-start
Chrome 57+, Edge 16+, Firefox 52+, Safari 10.1+. Internet Explorer needs older -ms- Grid syntax.
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 -ms- Grid)
Not supported
grid-column-startWidely supported
Bottom line: Safe for modern Grid layouts. Prefer standard Grid over legacy -ms- prefixes except when you must support Internet Explorer. It is not a runtime API.
Remember
Key Takeaways
Role: set the starting column line (or span) of a grid item.
Lines vs tracks: n columns → n+1 lines; start at 1.
Shorthand:grid-column sets start and end together.
Initial value:auto. Not inherited.
One line:grid-column-start: 2; parks the item’s start edge on column line 2.
Frequently Asked Questions
It sets where a grid item begins horizontally by choosing a column line, a span, or auto-placement.
The initial value is auto. The grid auto-placement algorithm chooses the start line, usually with a span of 1.
The item’s start edge sits on column line 2 — the left edge of the second column track in a left-to-right grid.
grid-column-start: span 2 makes the item’s start edge two column lines before its end edge, so the item spans two columns when the end is auto.
grid-column-start sets only the start. grid-column is the shorthand for both grid-column-start and grid-column-end.
It is Baseline Widely available. Chrome 57+, Edge 16+, Firefox 52+, Safari 10.1+, and modern Opera support it. Internet Explorer needs the older -ms- prefixed Grid. It is a browser CSS property, not a Node.js feature.