CSS Grid Layout
===============

**CSS Grid layout** contiene funciones de diseño dirigidas a los desarrolladores de aplicaciones web. El CSS grid se puede utilizar para lograr muchos diseños diferentes. También se destaca por permitir dividir una página en áreas o regiones principales, por definir la relación en términos de tamaño, posición y capas entre partes de un control construido a partir de primitivas HTML.

Al igual que las tablas, el grid layout permite a un autor alinear elementos en columnas y filas. Sin embargo, con CSS grid son posibles muchos más diseños y de forma más sencilla que con las tablas. Por ejemplo, los elementos secundarios de un contenedor de cuadrícula podrían posicionarse para que se solapen y se superpongan, de forma similar a los elementos posicionados en CSS.

Ejemplo sencillo
----------------

El siguiente ejemplo muestra un grid de tres columnas con filas nuevas creadas con un mínimo de 100 píxeles y un máximo automático. Los elementos se han colocado en el grid utilizando posicionamiento en línea.
```

\* {
  box-sizing: border-box;
}
.wrapper {
  max-width: 940px;
  margin: 0 auto;
}

.wrapper > div {
  border: 2px solid rgb(233, 171, 88);
  border-radius: 5px;
  background-color: rgba(233, 171, 88, 0.5);
  padding: 1em;
  color: #d9480f;
}
```


HTML


```html
<div class="wrapper">
  <div class="one">One</div>
  <div class="two">Two</div>
  <div class="three">Three</div>
  <div class="four">Four</div>
  <div class="five">Five</div>
  <div class="six">Six</div>
</div>
```


CSS


```css
.wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  grid-auto-rows: minmax(100px, auto);
}
.one {
  grid-column: 1 / 3;
  grid-row: 1;
}
.two {
  grid-column: 2 / 4;
  grid-row: 1 / 3;
}
.three {
  grid-column: 1;
  grid-row: 2 / 5;
}
.four {
  grid-column: 3;
  grid-row: 3;
}
.five {
  grid-column: 2;
  grid-row: 4;
}
.six {
  grid-column: 3;
  grid-row: 4;
}
```

Referencia
----------

### Propiedades CSS

* `grid-template-columns`
* `grid-template-rows`
* `grid-template-areas`
* `grid-template` (en-US)
* `grid-auto-columns`
* `grid-auto-rows`
* `grid-auto-flow` (en-US)
* `grid`
* `grid-row-start` (en-US)
* `grid-column-start` (en-US)
* `grid-row-end` (en-US)
* `grid-column-end` (en-US)
* `grid-row` (en-US)
* `grid-column` (en-US)
* `grid-area` (en-US)
* `row-gap` (en-US)
* `column-gap`
* `gap`
### Funciones CSS

* `repeat()`
* `minmax()`
* `fit-content()`
### CSS data types

* `<flex>` (en-US)
### Glosario

* Grid
* Grid Lines
* Grid Tracks (en-US)
* Grid Cell (en-US)
* Grid Area
* Gutters (en-US)
* Grid Axis (en-US)
* Grid row
* Grid column
Guías
-----

* Basic concepts of Grid Layout
* Relationship of Grid Layout to other layout methods
* Layout using line-based placement (en-US)
* Grid template areas (en-US)
* Layout using named grid lines (en-US)
* Auto-placement in CSS Grid Layout
* Box alignment in CSS Grid Layout
* CSS Grid, Logical Values and Writing Modes (en-US)
* CSS Grid Layout and accessibility (en-US)
* CSS Grid and progressive enhancement (en-US)
* Realising common layouts using CSS Grid (en-US)
Recursos externos
-----------------

* Examples from Jen Simmons
* Grid by Example - a collection of usage examples and video tutorials
* Codrops Grid Reference
* Firefox DevTools CSS Grid Inspector
* CSS Grid Playground
* Grid Garden - Un juego para aprender el grid
Especificaciones
----------------

| Specification |
| --- |
| CSS Grid Layout Module Level 2  |