CSS tiene varias palabras claves que suelen resultar muy útiles al momento de crear código. Veamos algunas de ellas:
Palabras clave especiales para creación de código
fr : es una unidad relativamente nueva de medida especial de CSS Grid para darle ancho o alto a filas y columnas. 1fr representa una fracción del total de columnas o filas.
min-content : ajusta el ancho de la celda lo mínimo posible sin romper su contenido.
max-content : ajusta el ancho de la celda lo máximo posible para mostrar su contenido.
auto-fill : logra que la grilla ocupe el 100% del espacio que tiene. Agrega columnas “fantasma” que rellenan el espacio sobrante del contenedor.
auto-fit : ensancha las columnas para que ocupen todo el espacio del contenedor.
auto-fill y auto-fit: ayudan a la grilla a ocupar el 100% del espacio disponible.
Cómo funcionan las palabras clave especiales
Veamos cómo funcionan estas keywords directamente en el código: Primero, creamos un index.html con cuatro contenedores. Llevando el 3 y 4 distintas mezclas y espaciados.
En el navegador observamos que todas las columnas tienen el mismo ancho.
Piensa en las columnas como fracciones: si la grilla tiene 4 columnas, todas del mismo ancho, cada columna es igual a una fracción de la grilla. Entonces, si en vez de colocar 100px de ancho, colocamos 1fr, logramos que cada columna siempre tenga el mismo ancho, ocupando siempre el 100% del ancho de la pantalla.
grid-template-columns: repeat(4, 1fr);
También podemos agregar distintos valores proporcionales al ancho de la columa. Por ejemplo, podemos hacer que una columna sea del doble de ancho de la anterior, y así con las demás.
grid-template-columns: 1fr 3fr 1fr 2fr;
Podemos cambiar una sola columna para que use el ancho mínimo que ocupa su contenido con min-content. De esta manera, al redimensionar la pantalla, el ancho de las demás columnas cambiará, pero el de la modificada no, porque ya ocupa el ancho mínimo desde el principio.
grid-template-columns: 1fr 3fr min-content 2fr;
Lo mismo pasa si queremos que la celda use el ancho máximo. Tomará el espacio necesario para mostrar su contenido en una sola línea.
grid-template-columns: 1fr 3fr max-content 2fr;
Para explicar el auto-fill y auto-fit, creemos otro contenedor.
Para que funcione, es necesario especificar el ancho mínimo y máximo del contenedor. En este caso queremos que comience desde 100px y crezca hasta llegar a una fracción de la grilla. No colocamos valores absolutos para que el contenedor siempre se ajuste al ancho de la pantalla.
Como vemos en la grilla con auto-fit las columnas se expanden hasta ocupar todo el ancho. Mientras que en auto-fill se agregan columnas fantasma para rellenar el espacio faltante. Sin embargo, al reducir el tamaño vuelven a ocupar el mismo espacio mínimo.
Has aprendido bastante sobre CSS Grid, ¡ahora vamos a implementarlo a un proyecto!
Contribución creada por: José Miguel Ventimilla (Platzi Contributor).
Aportes 45
Preguntas 7
Ordenar por:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
fr : Es una unidad de medida especial de css grid para darle ancho o alto a filas y columnas 1fr representa una fraccion del total de columnas o filas.
min-content : Ajusta el ancho de la celda lo mínimo posible sin romper su contenido.
max-content : Ajusta el ancho de la celda lo máximo posible para mostrar su contenido.
auto-fill : Agrega columnas “fantasma” que rellenan el espacio sobrante del contenedor.
auto-fit : Ensancha las columnas para que ocupen todo el espacio del contenedor.
auto-fill y auto-fit ayudan a la grilla a ocupar el 100% del espacio disponible.
min-content hará que nuestro contenido haga salto de linea en cada oportunidad que tenga, siendo tan ancho como la palabra mas larga. max-content no tendrá salto de linea, ocupando todo el ancho que pueda, incluso causando overflow.
Algo que creo que faltó mencionar, es que el número de filas/columnas al usar auto-fill y auto-fit está determinado por el número de elementos dentro del contenedor de la grid.
Fr : Es una unidad de medida especial de css grid para darle ancho o alto a filas y columnas 1fr representa una fraccion del total de columnas o filas.
min-content: Ajusta el ancho de la columna si romper el contenido de esta columna
max-content: crecer la filas para que el contendio se pueda ver lo mas amplio posible
auto-fil: Agrega columnas fantasma que rellan el espacio
auto-fit: Hace crecer las columnas que ya tenemos para que ocupen el 100%
auto-fit: intenta crear nuevas columnas siempre que cuente con el espacio, sin embargo, si el contenido es vacío hace que las columnas que si tienen contenido se expandan (siempre que sea posible ocupando el espacio disponible)
auto-fill: intenta crear nuevas columnas siempre que cuente con el espacio, sin embargo, si el contenido es vacío hace que ellas aunque no existan, ocupen el espacio como si existieran
La Unidad fr
Las vías se pueden definir usando cualquier unidad de medida. Grid también introduce una unidad de longitud adicional para ayudarnos a crear vías de cuadrícula flexibles. La nueva unidad fr representa una fracción del espacio disponible en el contenedor de la cuadrícula. La siguiente definición de cuadrícula crearía tres vias con el mismo ancho, que se expanden y se encogen de acuerdo el espacio disponible.
**Keywords especiales:**
* fr: fracción
* min-content: ajusta el ancho de la celda para que se tenga un valor de celda mínimo sin que el contenido se desorganice.
* max-content: permite ensanchar la columna para que el contenido se vea más grande
auto-fill/auto-fit: ayuda a que la grilla ocupe la totalidad del espacio disponible. Mientras que **auto-fill** crea columnas fantasmas para completar el ancho completo de la grilla, **auto-fill** ensancha las columnas para lograr ese mismo propósito.
Suppose the grid container has a definite or maximal size in the relevant axis. In that case, the number of repetitions is the largest possible positive integer that does not cause the grid to overflow its grid container. If that is definite, treat each track as its maximal track sizing function (each independent value used to define grid-template-rows or grid-template-columns). Otherwise, as its minimum track sizing function, and taking grid-gap into account. If any number of repetitions would overflow, then the repetition is 1. Otherwise, if the grid container has a definite minimal size in the relevant axis, the number of repetitions is the smallest possible positive integer that fulfills that minimum requirement. Otherwise, the specified track list repeats only once.
auto-fit
It behaves the same as auto-fill, except that after placing the grid items any empty repeated tracks are collapsed. An empty track is one with no in-flow grid items placed into or spanning across it. (This can result in all tracks being collapsed if they’re all empty.)
A collapsed track is treated as having a single fixed track sizing function of 0px, and the gutters on either side of it collapse.
For the purpose of finding the number of auto-repeated tracks, the user agent floors the track size to a user agent specified value (e.g., 1px), to avoid division by zero.
CSS tiene varias palabras claves que suelen resultar muy útiles al momento de crear código. Veamos algunas de ellas:
## Palabras clave especiales para creación de código
* ***fr*** : es una unidad relativamente nueva de medida especial de CSS Grid para darle ancho o alto a filas y columnas. 1fr representa una fracción del total de columnas o filas.
* ***min-content*** : ajusta el ancho de la celda lo mínimo posible sin romper su contenido.
* ***max-content*** : ajusta el ancho de la celda lo máximo posible para mostrar su contenido.
* ***auto-fill*** : logra que la grilla ocupe el 100% del espacio que tiene. Agrega columnas “fantasma” que rellenan el espacio sobrante del contenedor.
* ***auto-fit*** : ensancha las columnas para que ocupen todo el espacio del contenedor.
* ***auto-fill*** y ***auto-fit:*** ayudan a la grilla a ocupar el 100% del espacio disponible.
## Cómo funcionan las palabras clave especiales
Veamos cómo funcionan estas **keywords** directamente en el código:
Primero, creamos un index.html con cuatro contenedores. Llevando el 3 y 4 distintas mezclas y espaciados.
`
444 4 4 4 4 4 4 4 4 4444 4444 44 4 4 4 4</div`>
`</div`>
Luego aplicamos en los estilos:
Cuatro columnas de ***100px*** sin especificar su alto.
`.contenedor` {
` border: 5px solid #e1bee7`;
` background-color: #fff1ff`;
` display`: grid;
` grid-template-columns: repeat`(4, 100px);
}
`.item` {
` border: 5px solid #00bcd4`;
` font-size: 2rem`;
}
En el navegador observamos que todas las columnas tienen el mismo ancho.
![image.png](https://static.platzi.com/media/articlases/Images/image%28334%29.png)
Piensa en las columnas como fracciones: si la grilla tiene 4 columnas, todas del mismo ancho, cada columna es igual a una fracción de la grilla.
Entonces, si en vez de colocar ***100px*** de ancho, colocamos ***1fr***, logramos que cada columna siempre tenga el mismo ancho, ocupando siempre el 100% del ancho de la pantalla.
`grid-template-columns: repeat(4, 1fr);`
![image.png](https://static.platzi.com/media/articlases/Images/image%28343%29.png)
También podemos agregar distintos valores proporcionales al ancho de la columa. Por ejemplo, podemos hacer que una columna sea del doble de ancho de la anterior, y así con las demás.
`grid-template-columns: 1fr 3fr 1fr 2`fr;
![image.png](https://static.platzi.com/media/articlases/Images/image%28344%29.png)
Podemos cambiar una sola columna para que use el ancho mínimo que ocupa su contenido con min-content. De esta manera, al redimensionar la pantalla, el ancho de las demás columnas cambiará, pero el de la modificada no, porque ya ocupa el ancho mínimo desde el principio.
`grid-template-columns: 1fr 3fr min-content` 2fr;
![image.png](https://static.platzi.com/media/articlases/Images/image%28345%29.png)
Lo mismo pasa si queremos que la celda use el ancho máximo. Tomará el espacio necesario para mostrar su contenido en una sola línea.
`grid-template-columns: 1fr 3fr max-content` 2fr;
![image.png](https://static.platzi.com/media/articlases/Images/image%28346%29.png)
Para explicar el ***auto-fill*** y ***auto-fit***, creemos otro contenedor.
`
`
1</div`>
`
2</div`>
`
3</div`>
`
4</div`>
` </div`>
`
`
1</div`>
`
2</div`>
`
3</div`>
`
4</div`>
` </div`>
Aplicamos estilos:
`.contenedor-1` {
` border: 5px solid #e1bee7`;
` background-color: #fff1ff`;
` display`: grid;
` grid-template-columns: repeat`(auto-fit, minmax(100px, 1fr));
}
` .contenedor-2` {
` border: 5px solid #e1bee7`;
` background-color: #fff1ff`;
` display`: grid;
` margin-top: 100px`;
` grid-template-columns: repeat`(auto-fill, minmax(100px, 1fr));
}
Para que funcione, es necesario especificar el ancho mínimo y máximo del contenedor. En este caso queremos que comience desde 100px y crezca hasta llegar a una fracción de la grilla. No colocamos valores absolutos para que el contenedor siempre se ajuste al ancho de la pantalla.
![image.png](https://static.platzi.com/media/articlases/Images/image%28347%29.png)![image.png](https://static.platzi.com/media/articlases/Images/image%28348%29.png)
Como vemos en la grilla con ***auto-fit*** las columnas se expanden hasta ocupar todo el ancho. Mientras que en ***auto-fill*** se agregan columnas fantasma para rellenar el espacio faltante. Sin embargo, al reducir el tamaño vuelven a ocupar el mismo espacio mínimo.
Has aprendido bastante sobre CSS Grid, ¡ahora vamos a implementarlo a un [proyecto](https://platzi.com/clases/2474-css-grid/42189-proyecto/)!
auto-fill creo que no va a servir cuando no queremos que se use todo el ancho del contenedor en un tamaño de escritorio desktop pero si en un tamaño mas pequeño como un celular si se use todo su ancho
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?