
- CSS - Home
- CSS - Roadmap
- CSS - Introduction
- CSS - Syntax
- CSS - Inclusion
- CSS - Types
- CSS - Measurement Units
- CSS - Selectors
- CSS - Colors
- CSS - Backgrounds
- CSS - Fonts
- CSS - Text
- CSS - Images
- CSS - Links
- CSS - Tables
- CSS - Borders
- CSS - Border Block
- CSS - Border Inline
- CSS - Margins
- CSS - Lists
- CSS - Padding
- CSS - Cursor
- CSS - Outlines
- CSS - Dimension
- CSS - Scrollbars
- CSS - Inline Block
- CSS - Dropdowns
- CSS - Visibility
- CSS - Overflow
- CSS - Clearfix
- CSS - Float
- CSS - Arrows
- CSS - Resize
- CSS - Quotes
- CSS - Order
- CSS - Position
- CSS - Hyphens
- CSS - Hover
- CSS - Display
- CSS - Focus
- CSS - Zoom
- CSS - Translate
- CSS - Height
- CSS - Hyphenate Character
- CSS - Width
- CSS - Opacity
- CSS - Z-Index
- CSS - Bottom
- CSS - Navbar
- CSS - Overlay
- CSS - Forms
- CSS - Align
- CSS - Icons
- CSS - Image Gallery
- CSS - Comments
- CSS - Loaders
- CSS - Attr Selectors
- CSS - Combinators
- CSS - Root
- CSS - Box Model
- CSS - Counters
- CSS - Clip
- CSS - Writing Mode
- CSS - Unicode-bidi
- CSS - min-content
- CSS - All
- CSS - Inset
- CSS - Isolation
- CSS - Overscroll
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - Pointer Events
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - Max Block Size
- CSS - Min Block Size
- CSS - Mix Blend Mode
- CSS - Max Inline Size
- CSS - Min Inline Size
- CSS - Offset
- CSS - Accent Color
- CSS - User Select
- CSS - Cascading
- CSS - Universal Selectors
- CSS - ID Selectors
- CSS - Group Selectors
- CSS - Class Selectors
- CSS - Child Selectors
- CSS - Element Selectors
- CSS - Descendant Selectors
- CSS - General Sibling Selectors
- CSS - Adjacent Sibling Selectors
- CSS Advanced
- CSS - Grid
- CSS - Grid Layout
- CSS - Flexbox
- CSS - Visibility
- CSS - Positioning
- CSS - Layers
- CSS - Pseudo Classes
- CSS - Pseudo Elements
- CSS - @ Rules
- CSS - Text Effects
- CSS - Paged Media
- CSS - Printing
- CSS - Layouts
- CSS - Validations
- CSS - Image Sprites
- CSS - Important
- CSS - Data Types
- CSS3 Advanced Features
- CSS - Rounded Corner
- CSS - Border Images
- CSS - Multi Background
- CSS - Color
- CSS - Gradients
- CSS - Box Shadow
- CSS - Box Decoration Break
- CSS - Caret Color
- CSS - Text Shadow
- CSS - Text
- CSS - 2d transform
- CSS - 3d transform
- CSS - Transition
- CSS - Animation
- CSS - Multi columns
- CSS - Box Sizing
- CSS - Tooltips
- CSS - Buttons
- CSS - Pagination
- CSS - Variables
- CSS - Media Queries
- CSS - Functions
- CSS - Math Functions
- CSS - Masking
- CSS - Shapes
- CSS - Style Images
- CSS - Specificity
- CSS - Custom Properties
- CSS Responsive
- CSS RWD - Introduction
- CSS RWD - Viewport
- CSS RWD - Grid View
- CSS RWD - Media Queries
- CSS RWD - Images
- CSS RWD - Videos
- CSS RWD - Frameworks
- CSS References
- CSS Interview Questions
- CSS Online Quiz
- CSS Online Test
- CSS Mock Test
- CSS - Quick Guide
- CSS - Cheatsheet
- CSS - Properties References
- CSS - Functions References
- CSS - Color References
- CSS - Web Browser References
- CSS - Web Safe Fonts
- CSS - Units
- CSS - Animation
- CSS Resources
- CSS - Useful Resources
- CSS - Discussion
CSS - grid-auto-flow Property
CSS grid-auto-flow property controls how the grid items are placed into the grid when there are more items than explicitly defined grid tracks. It determines the direction in which the grid auto-places items into implicit rows or columns.
Syntax
grid-auto-flow: row | column | dense | row dense | column dense;
Property Values
Value | Description |
---|---|
row | It places the items row-wise. Default. |
column | It places the item column-wise |
dense | It places the items such that they fill the space of the container. |
row dense | It places the items row-wise along with filling the space of the container. |
column dense | It places the items column-wise along with filling the space of the container. |
Examples of CSS Grid Auto Flow Property
The following examples explain the grid-auto-flow property with different values.
Grid Auto Flow Property with Row Value
To place the elements in a grid-layout row-wise, we use the row value. This setting causes items to be placed from left to right, filling up each row before moving to the next. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .container { display: grid; background-color: lightblue; grid-template-rows: auto auto auto; grid-template-columns: auto auto auto auto; grid-auto-flow: row; gap: 20px; padding: 10px; } .container>div { border: 2px solid; text-align: center; padding: 10px; background-color: lightcoral; color: white; align-items: center; } .item { grid-area: auto /span 3; } </style> </head> <body> <h2> CSS grid-auto-flow property </h2> <h4> grid-auto-flow: row (the elements are arranged row-wise) </h4> <div class="container"> <div> A </div> <div> B </div> <div class="item"> C </div> <div> D </div> <div> E </div> <div> F </div> </div> </body> </html>
Grid Auto Flow Property with Column Value
To place the elements in a grid-layout column-wise, we use the column value. This setting causes items to be placed from top to bottom, filling up each column before moving to the next. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .container { display: grid; background-color: lightblue; grid-template-rows: auto auto auto; grid-template-columns: auto auto auto auto; grid-auto-flow: column; gap: 20px; padding: 10px; } .container>div { border: 2px solid; text-align: center; padding: 10px; background-color: lightcoral; color: white; align-items: center; } .item { grid-area: auto /span 3; } </style> </head> <body> <h2> CSS grid-auto-flow property </h2> <h4> grid-auto-flow: column (the elements are arranged column-wise) </h4> <div class="container"> <div> A </div> <div> B </div> <div class="item"> C </div> <div> D </div> <div> E </div> <div> F </div> </div> </body> </html>
Grid Auto Flow Property with Dense Value
To place the elements in a grid-layout such that they fill maximum amount of space of the container as possible, we use the dense value. This setting attempts to fill available gaps in the grid by placing items in the first available space. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .container { display: grid; background-color: lightblue; grid-template-rows: auto auto auto; grid-template-columns: auto auto auto auto; grid-auto-flow: dense; gap: 20px; padding: 10px; } .container>div { border: 2px solid; text-align: center; padding: 10px; background-color: lightcoral; color: white; align-items: center; } .item { grid-area: auto /span 3; } </style> </head> <body> <h2> CSS grid-auto-flow property </h2> <h4> grid-auto-flow: dense (the elements are arranged to fill maximum space) </h4> <div class="container"> <div> A </div> <div> B </div> <div class="item"> C </div> <div> D </div> <div> E </div> <div> F </div> </div> </body> </html>
Grid Auto Flow Property with Row Dense Value
To place the elements in a grid-layout row-wise and also fill maximum amount of container space as possible, we use the row dense value. This setting places items row by row and attempts to fill any available gaps to make the layout more compact. This is shown in the followig example.
Example
<!DOCTYPE html> <html> <head> <style> .container { display: grid; background-color: lightblue; grid-template-rows: auto auto auto; grid-template-columns: auto auto auto auto; grid-auto-flow: row dense; gap: 20px; padding: 10px; } .container>div { border: 2px solid; text-align: center; padding: 10px; background-color: lightcoral; color: white; align-items: center; } .item { grid-area: auto /span 3; } </style> </head> <body> <h2> CSS grid-auto-flow property </h2> <h4> grid-auto-flow: row dense (the elements are arranged row-wise and also fill maximum available space) </h4> <div class="container"> <div> A </div> <div> B </div> <div class="item"> C </div> <div> D </div> <div> E </div> <div> F </div> </div> </body> </html>
Grid Auto Flow Property with Column Dense Value
To place the elements in a grid-layout column-wise and also fill maximum amount of container space as possible, we use the column dense value. This setting places items column by column and attempts to fill any available gaps to make the layout more compact. This is shown in the followig example.
Example
<!DOCTYPE html> <html> <head> <style> .container { display: grid; background-color: lightblue; grid-template-rows: auto auto auto; grid-template-columns: auto auto auto auto; grid-auto-flow: column dense; gap: 20px; padding: 10px; } .container>div { border: 2px solid; text-align: center; padding: 10px; background-color: lightcoral; color: white; align-items: center; } .item { grid-area: auto /span 3; } </style> </head> <body> <h2> CSS grid-auto-flow property </h2> <h4> grid-auto-flow: column dense (the elements are arranged column-wise and fill maximum available space) </h4> <div class="container"> <div> A </div> <div> B </div> <div class="item"> C </div> <div> D </div> <div> E </div> <div> F </div> </div> </body> </html>
Supported Browsers
Property | ![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|
grid-auto-flow | 57 | 16 | 52 | 10 | 44 |