grid
Quick Summary for grid
grid
CSS property is a shorthand property that sets all of the explicit and implicit grid properties in a single declaration.
Code Usage for grid
/* <'grid-template'> values */ grid: none; grid: "a" 100px "b" 1fr; grid: [linename1] "a" 100px [linename2]; grid: "a" 200px "b" min-content; grid: "a" minmax(100px, max-content) "b" 20%; grid: 100px / 200px; grid: minmax(400px, min-content) / repeat(auto-fill, 50px); /* <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? values */ grid: 200px / auto-flow; grid: 30% / auto-flow dense; grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px; grid: [line1] minmax(20em, max-content) / auto-flow dense 40%; /* [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'> values */ grid: auto-flow / 200px; grid: auto-flow dense / 30%; grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px); grid: auto-flow dense 40% / [line1] minmax(20em, max-content); /* Global values */ grid: inherit; grid: initial; grid: revert; grid: unset;
More Details for grid
grid
The grid
CSS property is a shorthand property that sets all of the explicit and implicit grid properties in a single declaration.
Using grid
you specify one axis using grid-template-rows
or grid-template-columns
, you then specify how content should auto-repeat in the other axis using the implicit grid properties: grid-auto-rows
, grid-auto-columns
, and grid-auto-flow
.
Note: The sub-properties you don't specify are set to their initial value, as normal for shorthands. Also, the gutter properties are NOT reset by this shorthand.
Constituent properties
This property is a shorthand for the following CSS properties:
grid-auto-columns
grid-auto-flow
grid-auto-rows
grid-template-areas
grid-template-columns
grid-template-rows
Syntax
/* <'grid-template'> values */ grid: none; grid: "a" 100px "b" 1fr; grid: [linename1] "a" 100px [linename2]; grid: "a" 200px "b" min-content; grid: "a" minmax(100px, max-content) "b" 20%; grid: 100px / 200px; grid: minmax(400px, min-content) / repeat(auto-fill, 50px); /* <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? values */ grid: 200px / auto-flow; grid: 30% / auto-flow dense; grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px; grid: [line1] minmax(20em, max-content) / auto-flow dense 40%; /* [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'> values */ grid: auto-flow / 200px; grid: auto-flow dense / 30%; grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px); grid: auto-flow dense 40% / [line1] minmax(20em, max-content); /* Global values */ grid: inherit; grid: initial; grid: revert; grid: unset;
Values
<'grid-template'>
Defines the grid-template
including grid-template-columns
, grid-template-rows
and grid-template-areas
.
<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?
Sets up an auto-flow by setting the row tracks explicitly via the grid-template-rows
property (and the grid-template-columns
property to none
) and specifying how to auto-repeat the column tracks via grid-auto-columns
(and setting grid-auto-rows
to auto
). grid-auto-flow
is also set to column
accordingly, with dense
if it's specified.
All other grid
sub-properties are reset to their initial values.
[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
Sets up an auto-flow by setting the column tracks explicitly via the grid-template-columns
property (and the grid-template-rows
property to none
) and specifying how to auto-repeat the row tracks via grid-auto-rows
(and setting grid-auto-columns
to auto
). grid-auto-flow
is also set to row
accordingly, with dense
if it's specified.
All other grid
sub-properties are reset to their initial values.
Formal definition
Initial value | as each of the properties of the shorthand:grid-template-rows : none grid-template-columns : none grid-template-areas : none grid-auto-rows : auto grid-auto-columns : auto grid-auto-flow : row grid-column-gap : 0 grid-row-gap : 0 column-gap : normal row-gap : normal |
---|---|
Applies to | grid containers |
Inherited | no |
Percentages | as each of the properties of the shorthand:grid-template-rows : refer to corresponding dimension of the content areagrid-template-columns : refer to corresponding dimension of the content areagrid-auto-rows : refer to corresponding dimension of the content areagrid-auto-columns : refer to corresponding dimension of the content area |
Computed value | as each of the properties of the shorthand:grid-template-rows : as specified, but with relative lengths converted into absolute lengthsgrid-template-columns : as specified, but with relative lengths converted into absolute lengthsgrid-template-areas : as specifiedgrid-auto-rows : the percentage as specified or the absolute lengthgrid-auto-columns : the percentage as specified or the absolute lengthgrid-auto-flow : as specifiedgrid-column-gap : the percentage as specified or the absolute lengthgrid-row-gap : the percentage as specified or the absolute lengthcolumn-gap : as specified, with <length>s made absolute, and normal computing to zero except on multi-column elementsrow-gap : as specified, with <length>s made absolute, and normal computing to zero except on multi-column elements |
Animation type | discrete |
Formal syntax
<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
Examples
Creating a grid layout
HTML<div id="container"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
CSS #container { display: grid; grid: repeat(2, 60px) / auto-flow 80px; } #container > div { background-color: #8ca0ff; width: 50px; height: 50px; }
ResultSpecifications
Specification |
---|
CSS Grid Layout Module Level 3 # grid-shorthand |
See also
Related CSS properties:grid-template
, grid-template-rows
, grid-template-columns
, grid-template-areas
, grid-auto-columns
, grid-auto-rows
, grid-auto-flow
Grid Layout Guide: Line-based placement with CSS Grid Grid Layout Guide: Grid template areas - Grid definition shorthands Select your preferred language English (US)DeutschEspañolFrançais日本語한국어PolskiPortuguês (do Brasil)Русский中文 (简体) Change language