No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Keywords especiales

7/13
Recursos

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.

<div class="contenedor">
<div class="item item-1">1</div>
<div class="item item-2">2</div>
<div class="item item-3">3 3 33 3 3 3 3 3 3 3 3 3 3 33333 3333 333</div>
<div class="item item-4">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

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

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;
image.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

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

Para explicar el auto-fill y auto-fit, creemos otro contenedor.

    <div class="contenedor-1">
        <div class="item item-1">1</div>
        <div class="item item-2">2</div>
        <div class="item item-3">3</div>
        <div class="item item-4">4</div>
    </div>
    <div class="contenedor-2">
        <div class="item item-1">1</div>
        <div class="item item-2">2</div>
        <div class="item item-3">3</div>
        <div class="item item-4">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
image.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!

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?

KEYWORDS ESPECIALES

  • 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.

Siento como si me estuviese explicando una amiga, super sencillo y la profe super natural, que cool

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.

estoy amando este curso, creo que es el mas y mejor explicado y estructurado de los que he visto.

Poco a poco…

Keyword Especiales

  • 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%

Hola, dejo esta página donde muestran más ejemplos de css grid.

https://ishadeed.com/article/css-grid-minmax/

auto-fit y auto-fill

  • 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

En algún momento, se me hacía muy “complejo” ponerlo dentro de un proyecto; por lo “Responsive”. Gracias Platzi, por hacer el código más fácil.

A ¿cuanto equivale un 1fr en pixeles?🤔

Hola, les comparto mi apunte completo de esta clase: 👉🏼 aquí

px vs fr

_

  • Aspecto teórico de 1 fracción (1fr)

  • Al formar 4 columnas, comparemos si el ancho es 100px c/una y si el ancho es 1fr

  • Al formar 4 columnas, comparemos si el ancho es 1fr cada una o toma distinto valores de fr

fr vs min-content

  • Aspecto teórico de min-content y max-content

  • Comparemos cuando el ancho de la columna 3 es 1fr y min-content

fr vs min-content vs max-content

  • Comparemos cuando el ancho de la columna 3 es 1fr , min-content y max-content

fr vs auto-fit vs auto-fill

  • Aspecto teórico
  • Comparemos cuando tenemos 4 columnas y el ancho está determinado por fr , auto-fit y auto-fill
  • Comparemos cuando tenemos 4 columnas y el ancho está determinado por fr , auto-fit y auto-fill y se comprime el ancho de la pantalla

Este curso me ha cambiado la vida, me sentía re perdido con CSS Grid ahora entiendo todo super claro ♥

  • Los fr son medidas relativas y el min-content/max-content son medidas absolutas (son fijos)
  • Cuando se usa auto-fit o un auto-fill se necesita declarar un minmax

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.

<div class="wrapper">
  <div>One</div>
  <div>Two</div>
  <div>Three</div>
  <div>Four</div>
  <div>Five</div>
</div>
.wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

Más info



Lo de fr cuesta entenderlo al principio, pero una vez q se manejan, son geniales

muy útil esto

Es genial como vas aprendiendo cosas nuevas

**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.

Felicidades platzi, encontraron a una gran maestra. Primera vez que entiendo css grid xd

Lo de las columnas fantasma es muy útil en tema de tablas o datos por responsive, es bastante común en el campo laboral este caso de uso

![](

![](

![](

Keywords especiales

  • fr : sirve para dar ancho o alto a filas y columnas. 1fr es una fracción de la grilla.
    Ejemplo:
grid-template-columns: 1fr 3fr 1fr 2fr;
  • min-content: ajusta el ancho de la celda al mínimo sin romper su contenido.
  • max-content: ajusta las columnas o filas para que se vean lo más amplias posible.
  • auto-fill: agregan columnas para llenar el espacio.
  • auto-fit: amplían las columnas para que ocupen el 100%
  • auto-fill/auto-fit Estas dos propiedades nos ayudan a que nuestra grilla ocupe el 100% del espacio que tiene.
    • Auto-fill agrega columnas “fantasma” que van rellenando el espacio
    • auto-fit hace más anchas las columnas que ya tenemos para que ocupen el 100%

Hola! Dejo articulos para que guarden en sus notas 😄

  • min-content

  • max-content

  • auto-fill

    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.

no me gusta a palabra grilla 😂



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. `
`
1</div`> `
2</div`> `
3 3 33 3 3 3 3 3 3 3 3 3 3 33333 3333 333</div`> `
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/)!

las fracciones son unidades de medida relativa que permiten que nuestra grilla sea flexibles

muy buena clase para entender fr, min-content, max-content, auto-fill y auto-fit

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

auto-fill/auto-fit hace queel grid ocupe el 100% del espacio disponible

min-content hace que la columna sea lo más peuqeña que se pueda sin romper el contenido y max-content hace lo contrario

fr significa fracción y es una unidad estándar para dar ancho o alto a filas y columnas, haciendo que siempre haya una relación entre ellas

Keywords especiales: fr, min-content. max-content, auto-fill/auto-fit

Les comparto mi ejercicio usando los visto en video 6 y 7.

.contenedor {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit,minmax(100px,1fr));
}
.contenedor-2 {
    border: 5px solid #853292;
    background-color: coral;

    display: grid;
    margin-top: 100px;
    grid-template-columns: repeat(auto-fill,minmax(100px,1fr));
    grid-template-rows: auto;
}


.item {
    border: 5px solid #1e40c8;
    background-color: burlywood;
    border-radius: 10px;
    font-size: 1rem;
}

Les dejo el formato en EMMET .contenedor>.item.item-${$}*6

header {
    display: grid;
    grid-template-columns: minmax(130px, 150px) 1fr;
    align-content: center;
    border: 3px solid #000;
    align-items: center;
    justify-content: space-around;
    background-color: rgb(52, 15, 52);
}

header a img {
    width: 130px;
    margin: 16px;
    border-radius: 50%;
    border: 3px solid brown;
}

header a {
    display: block;
    margin: 16px;
    text-align: end;
}

<<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Header landing Page</title>
    <link rel="stylesheet" href="reto-header.css">
</head>
<body>
    <div class="container">
        <header class="header">
            <a class="image-container"><img src="https://i.pinimg.com/564x/28/b3/40/28b340dd738415a63327faf4262e4b3f--enrique-bunbury-sabbath.jpg"></a>
            <a class="button-container"><button>Button</button></a>
        </header>
    </div>
</body>
</html>> 

Ejercicio para prácticar![](

Clase siete terminada.