Grid

CSS grid-auto-flow Property

Controls how auto-placed items get inserted in the grid

Syntax

CSS
grid-auto-flow: row | column | dense | row dense | column dense;

Values

ValueDescription
rowItems fill rows first (default)
columnItems fill columns first
denseFills holes in the grid with smaller items
row denseRow-first with dense packing

Example

CSS
.masonry-like {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: repeat(3, 1fr);
}

Understanding CSS grid-auto-flow

The CSS grid-auto-flow property controls how auto-placed items get inserted in the grid. As part of the Grid module in CSS, it is one of the most commonly used properties for controlling the visual presentation of web pages.

You can set grid-auto-flow to values such as row, column, dense, row dense, among others. Each value changes how the browser renders the affected element, giving you fine-grained control over your page layout and design. Choosing the right value depends on the specific design requirements of your project.

Common use cases for the grid-auto-flow property include responsive web design, component-based layouts, and creating visually consistent interfaces across devices. It works closely with related properties like grid-auto-rows, grid-auto-columns, grid-template to achieve complex styling effects. Understanding how these properties interact helps you write cleaner, more maintainable stylesheets.

Browser support for grid-auto-flow is excellent across all modern browsers including Chrome, Firefox, Safari, and Edge. For older browsers, consider using fallback values or progressive enhancement strategies. The property can also be set dynamically via JavaScript using element.style.gridAutoFlow or the CSS custom properties (variables) approach for theming.

Related Properties

Explore More CSS Properties

Browse our complete reference of 251 CSS properties with syntax, examples, and tips.