CSS grid-column-start Property

Beginner
⏱️ 6 min read
📚 Updated: Jun 2026
🎯 4 Examples
Layout

What You’ll Learn

The grid-column-start property sets the column line where a grid item begins horizontally inside a CSS grid.

01

Start line

Begin column.

02

auto

Default flow.

03

Line 2

Exact start.

04

span 2

Column span.

05

With end

Pair lines.

06

Grid item

Child element.

Introduction

The grid-column-start property in CSS is used in the context of CSS Grid Layout. It specifies the starting position of a grid item within a grid container by determining which grid line the item should start on.

This property is essential for placing grid items precisely within a grid layout.

Definition and Usage

Apply grid-column-start on a child of a grid container. Use a line number like 2 to skip the first column and start in the second track. Pair with grid-column-end or use the grid-column shorthand when you need both start and end defined together.

💡
Beginner Tip

Column lines are numbered from 1, not 0. Line 1 is the left edge of the first column. So grid-column-start: 2 places the item at the start of the second column.

📝 Syntax

The syntax for the grid-column-start property is simple and can be defined using a grid line number, a named grid line, or special keywords:

syntax.css
element {
  grid-column-start: value;
}

Basic Example

grid-column-start-basic.css
.item1 { grid-column-start: 2; }
.item2 { grid-column-start: span 2; }
grid-column-start: 2; grid-column-start: span 2; grid-column-start: auto;

Default Value

The default value of the grid-column-start property is auto. This means the grid item will be placed automatically by the grid’s auto-placement algorithm.

Syntax Rules

  • Applies to grid items (children of a grid container), not the container itself.
  • Accepts line numbers, span n, named lines, and auto.
  • Works with grid-column-end to define the full column span.
  • The property is not inherited.
  • Negative line numbers count from the end of the grid.

⚡ Quick Reference

QuestionAnswer
Initial valueauto
Applies toGrid items
InheritedNo
ControlsStarting column line
Shorthand partnergrid-column-end

💎 Property Values

ValueDescription
autoPlaces the item automatically based on the layout algorithm
line numberSpecifies the grid line number where the item should start
span nWhen the end line is auto, spans n columns from the starting position
named grid lineUses a named grid line to determine the starting position

👀 Live Preview

Item 1 starts at column line 2 with grid-column-start: 2 (highlighted):

1
2
3

Examples Gallery

Start items at line 2, use span, pair with grid-column-end, and offset content from the first column.

🔢 Starting Column Placement

Start with the reference example — line numbers and span on grid items.

Example 1 — Line 2 and span 2

Position items using a column line number and the span keyword.

grid-column-start-reference.css
.item1 { grid-column-start: 2; }
.item2 { grid-column-start: span 2; }
Try It Yourself

How It Works

Item 1 begins at column line 2. Item 2 uses span 2 to cover two columns from its auto-placed starting position.

Example 2 — Start at Column Line 3

Skip the first two columns by starting an item at line 3.

grid-column-start-line3.css
.offset-item {
  grid-column-start: 3;
}
Try It Yourself

How It Works

Line 3 is the left edge of the third column track, so the item skips columns 1 and 2.

📈 Paired with grid-column-end

Combine start and end lines for exact column boundaries.

Example 3 — Start and End Together

Define both the starting and ending column lines on one item.

grid-column-start-with-end.css
.featured {
  grid-column-start: 2;
  grid-column-end: 4;
}
Try It Yourself

How It Works

Starting at line 2 and ending at line 4 spans columns 2 and 3. This is equivalent to grid-column: 2 / 4.

Example 4 — Empty First Column Offset

Leave the first column empty by starting main content at line 2.

grid-column-start-offset.css
.main {
  grid-column-start: 2;
  grid-column-end: -1;
}
Try It Yourself

How It Works

Column 1 stays open for spacing or a sidebar. Main content starts at line 2 and stretches to the last line.

♿ Accessibility

  • Keep DOM order logical when visual column placement changes reading flow.
  • Do not rely on column position alone to convey meaning; use headings and labels.
  • Test keyboard tab order when items start in non-default columns.
  • Use semantic HTML such as <main> alongside grid placement.
  • Verify content remains readable when items are offset on small screens.

🧠 How grid-column-start Works

1

Grid columns are defined

grid-template-columns creates numbered column lines.

Template
2

grid-column-start is set

You pick the column line where the item should begin.

Start
3

Item is placed

The browser aligns the item’s left edge to that column line.

Placement
=

Precise horizontal start

Items begin exactly where you specify in the column grid.

🖥 Browser Compatibility

The grid-column-start property is supported in all modern browsers, including recent versions of Chrome, Firefox, Safari, Edge, and Opera.

Baseline · Modern browsers

grid-column-start everywhere

Starting column placement works in all major modern grid implementations.

97% Modern browser support
Google Chrome 57+ · Desktop & Mobile
Full support
Mozilla Firefox 52+ · Desktop & Mobile
Full support
Apple Safari 10.1+ · macOS & iOS
Full support
Microsoft Edge 16+ · 79+ Chromium
Full support
Opera 44+
Full support
grid-column-start property 97% supported

Bottom line: Safe for modern projects. Pair with grid-column-end or use grid-column shorthand.

🎉 Conclusion

The grid-column-start property is a powerful feature in CSS Grid Layout, allowing precise control over the placement of grid items. By mastering this property, you can create complex and responsive grid layouts with ease.

Experiment with different values to see how this property can enhance your web designs. Start with line numbers, then combine with grid-column-end for full column control.

💡 Best Practices

✅ Do

  • Use line numbers for precise starting positions
  • Pair with grid-column-end for full spans
  • Prefer grid-column shorthand when setting both
  • Remember column lines start at 1
  • Test responsive layouts at smaller widths

❌ Don’t

  • Apply on grid containers instead of items
  • Confuse line numbers with column count
  • Assume line numbering starts at 0
  • Break reading order without testing a11y
  • Over-offset items on mobile layouts

Key Takeaways

Knowledge Unlocked

Five things to remember about grid-column-start

Use these points when setting the starting column line.

5
Core concepts
auto 02

Default auto

Auto-place.

Default
2 03

Line number

Exact start.

Syntax
span 04

span 2

Two columns.

Pattern
end 05

With end

Full span.

Workflow

❓ Frequently Asked Questions

grid-column-start sets the column line where a grid item begins, controlling its horizontal starting position in the grid.
The default is auto, which lets the grid auto-placement algorithm choose the starting column line.
grid-column-start sets where the item begins horizontally. grid-column-end sets where it stops. Together they define the column span.
The item starts at column line 2, which is the left edge of the second column track.
grid-column-start sets only the starting line. grid-column is shorthand for both grid-column-start and grid-column-end.

Practice in the Live Editor

Open the HTML editor, change grid-column-start values, and watch items move to different columns.

HTML Editor →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

5 people found this page helpful