--- title: grid slug: Web/CSS/grid translation_of: Web/CSS/grid ---
La propiedad CSS grid
es un shorthand que permite definir todas las propiedades grid explícitas ({{cssxref("grid-template-rows")}}, {{cssxref("grid-template-columns")}}, y {{cssxref("grid-template-areas")}}), implícitas ({{cssxref("grid-auto-rows")}}, {{cssxref("grid-auto-columns")}}, y {{cssxref("grid-auto-flow")}}), y relativas a gutter ({{cssxref("grid-column-gap")}} y {{cssxref("grid-row-gap")}}) en una sola declaración.
/* <'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: unset;
Nota: Sólo se pueden especificar las propiedades explícitas o bien las propiedades implícitas en una sola declaración grid
. Las sub-propiedades que no se especifican se definen a su valor inicial, como es normal para shorthands. También, las propiedades relativas a gutter se redefinen mediante este shorthand, incluso cuando no pueden ser definidas mediante el mismo.
{{cssinfo}}
<'grid-template'>
<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?
none
) y especificando como auto-repetir los column tracks mediante {{cssxref("grid-auto-columns")}} (definiendo {{cssxref("grid-auto-rows")}} en auto
). {{cssxref("grid-auto-flow")}} es seteado en column
en consecuencia, con dense
si se especifica.grid
se redefinen a sus valores iniciales.[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
none
) y especificando como auto-repetir los row tracks mediante {{cssxref("grid-auto-rows")}} (definiendo {{cssxref("grid-auto-columns")}} en auto
). {{cssxref("grid-auto-flow")}} es seteado en row
en consecuencia, con dense
si se especifica.grid
se redefinen a sus valores iniciales.<div id="container"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
#container { display: grid; grid: repeat(2, 60px) / auto-flow 80px; } #container > div { background-color: #8ca0ff; width: 50px; height: 50px; }
{{EmbedLiveSample("Example", "100%", 150)}}
Especificación | Estado | Comentario |
---|---|---|
{{SpecName("CSS3 Grid", "#propdef-grid", "grid")}} | {{Spec2("CSS3 Grid")}} | Definición inicial |
{{CompatibilityTable}}
Característica | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Soporte básico | {{CompatChrome("57.0")}}[1] | {{CompatNo}}[3] | {{CompatGeckoDesktop("52.0")}}[2] | {{CompatNo}}[3] | {{CompatOpera(44)}}[4] | {{CompatSafari("10.1")}} |
Característica | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte básico | {{CompatChrome("57.0")}}[1] | {{CompatChrome("57.0")}}[1] | {{CompatGeckoDesktop("52.0")}}[2] | {{CompatNo}}[3] | {{CompatOperaMobile}} | {{CompatSafari("10.3")}} |
[1] Implementado detrás del flag experimental Web Platform features en chrome://flags
desde Chrome 29.0.
[2] Implementado detrás de la preferencia layout.css.grid.enabled
desde Gecko 40.0 {{geckoRelease("40.0")}}, false
por defecto. Desde Gecko 52.0 true
por defecto.
[3] Internet Explorer y Edge implementan una version antigua de la especificación, que no define el shorthand grid
. Ver el pedido para actualizar la implementación.
[4] Implementado detrás del flag Enable experimental Web Platform features en chrome://flags
desde Opera 28.0.