Skip to content

Grid API

API documentation for the React Grid component. Learn about the available props and the CSS API.

Import

import Grid from '@mui/material/Grid';
// or
import { Grid } from '@mui/material';
You can learn about the difference by reading this guide on minimizing bundle size.

Component name

The name MuiGrid can be used when providing default props or style overrides in the theme.

Props

Props of the native component are also available.

NameTypeDefaultDescription
childrennode
The content of the component.
classesobject
Override or extend the styles applied to the component. See CSS API below for more details.
columnsArray<number>
| number
| object
12
The number of columns.
columnSpacingArray<number
| string>
| number
| object
| string
Defines the horizontal space between the type item components. It overrides the value of the spacing prop.
componentelementType
The component used for the root node. Either a string to use a HTML element or a component.
containerboolfalse
If true, the component will have the flex container behavior. You should be wrapping items with a container.
direction'column-reverse'
| 'column'
| 'row-reverse'
| 'row'
| Array<'column-reverse'
| 'column'
| 'row-reverse'
| 'row'>
| object
'row'
Defines the flex-direction style property. It is applied for all screen sizes.
itemboolfalse
If true, the component will have the flex item behavior. You should be wrapping items with a container.
lg'auto'
| number
| bool
false
If a number, it sets the number of columns the grid item uses. It can't be greater than the total number of columns of the container (12 by default). If 'auto', the grid item's width matches its content. If false, the prop is ignored. If true, the grid item's width grows to use the space available in the grid container. The value is applied for the lg breakpoint and wider screens if not overridden.
md'auto'
| number
| bool
false
If a number, it sets the number of columns the grid item uses. It can't be greater than the total number of columns of the container (12 by default). If 'auto', the grid item's width matches its content. If false, the prop is ignored. If true, the grid item's width grows to use the space available in the grid container. The value is applied for the md breakpoint and wider screens if not overridden.
rowSpacingArray<number
| string>
| number
| object
| string
Defines the vertical space between the type item components. It overrides the value of the spacing prop.
sm'auto'
| number
| bool
false
If a number, it sets the number of columns the grid item uses. It can't be greater than the total number of columns of the container (12 by default). If 'auto', the grid item's width matches its content. If false, the prop is ignored. If true, the grid item's width grows to use the space available in the grid container. The value is applied for the sm breakpoint and wider screens if not overridden.
spacingArray<number
| string>
| number
| object
| string
0
Defines the space between the type item components. It can only be used on a type container component.
sxArray<func
| object
| bool>
| func
| object
The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.
wrap'nowrap'
| 'wrap-reverse'
| 'wrap'
'wrap'
Defines the flex-wrap style property. It's applied for all screen sizes.
xl'auto'
| number
| bool
false
If a number, it sets the number of columns the grid item uses. It can't be greater than the total number of columns of the container (12 by default). If 'auto', the grid item's width matches its content. If false, the prop is ignored. If true, the grid item's width grows to use the space available in the grid container. The value is applied for the xl breakpoint and wider screens if not overridden.
xs'auto'
| number
| bool
false
If a number, it sets the number of columns the grid item uses. It can't be greater than the total number of columns of the container (12 by default). If 'auto', the grid item's width matches its content. If false, the prop is ignored. If true, the grid item's width grows to use the space available in the grid container. The value is applied for all the screen sizes with the lowest priority.
zeroMinWidthboolfalse
If true, it sets min-width: 0 on the item. Refer to the limitations section of the documentation to better understand the use case.

As a CSS utility, the Grid component also supports all system properties. You can use them as props directly on the component.

The ref is forwarded to the root element.

CSS

Rule nameGlobal classDescription
root.MuiGrid-rootStyles applied to the root element.
container.MuiGrid-containerStyles applied to the root element if container={true}.
item.MuiGrid-itemStyles applied to the root element if item={true}.
zeroMinWidth.MuiGrid-zeroMinWidthStyles applied to the root element if zeroMinWidth={true}.
direction-xs-column.MuiGrid-direction-xs-columnStyles applied to the root element if direction="column".
direction-xs-column-reverse.MuiGrid-direction-xs-column-reverseStyles applied to the root element if direction="column-reverse".
direction-xs-row-reverse.MuiGrid-direction-xs-row-reverseStyles applied to the root element if direction="row-reverse".
wrap-xs-nowrap.MuiGrid-wrap-xs-nowrapStyles applied to the root element if wrap="nowrap".
wrap-xs-wrap-reverse.MuiGrid-wrap-xs-wrap-reverseStyles applied to the root element if wrap="reverse".
spacing-xs-1.MuiGrid-spacing-xs-1
spacing-xs-2.MuiGrid-spacing-xs-2
spacing-xs-3.MuiGrid-spacing-xs-3
spacing-xs-4.MuiGrid-spacing-xs-4
spacing-xs-5.MuiGrid-spacing-xs-5
spacing-xs-6.MuiGrid-spacing-xs-6
spacing-xs-7.MuiGrid-spacing-xs-7
spacing-xs-8.MuiGrid-spacing-xs-8
spacing-xs-9.MuiGrid-spacing-xs-9
spacing-xs-10.MuiGrid-spacing-xs-10
grid-xs-auto.MuiGrid-grid-xs-auto
grid-xs-true.MuiGrid-grid-xs-true
grid-xs-1.MuiGrid-grid-xs-1
grid-xs-2.MuiGrid-grid-xs-2
grid-xs-3.MuiGrid-grid-xs-3
grid-xs-4.MuiGrid-grid-xs-4
grid-xs-5.MuiGrid-grid-xs-5
grid-xs-6.MuiGrid-grid-xs-6
grid-xs-7.MuiGrid-grid-xs-7
grid-xs-8.MuiGrid-grid-xs-8
grid-xs-9.MuiGrid-grid-xs-9
grid-xs-10.MuiGrid-grid-xs-10
grid-xs-11.MuiGrid-grid-xs-11
grid-xs-12.MuiGrid-grid-xs-12

You can override the style of the component using one of these customization options:

Demos