No tienes acceso a esta clase

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

Funciones especiales

6/13
Recursos

¿Qué te ha parecido CSS Grid hasta ahora? Apuesto a que no sabías que tiene funciones que lo hacen aún más genial. Veamos algunas de ellas usando un código como ejemplo para que sea más práctico.

Funciones especiales en CSS grid

Primero creamos un contenedor principal con otros 9 contenedores dentro:

    <div class="contenedor">
        <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 class="item item-5">5</div>
        <div class="item item-6">6</div>
        <div class="item item-7">7</div>
        <div class="item item-8">8</div>
        <div class="item item-9">9</div>
    </div>

Luego, añadimos los estilos generales que hemos trabajado anteriormente.

.contenedor {
    border: 5px solid #e1bee7;
    background-color: #fff1ff;
    display: grid;
    grid-template-columns: 30px 200px 60px;
    grid-template-rows: 100px 100px 100px;
}
.item {
    border: 5px solid #00bcd4;
    font-size: 2rem;
}
image.png

Funciones minmax y repeat

Uno de los detalles a solucionar es que al reducir el ancho de la pantalla, el tamaño de las celdas no cambia, porque es absoluto. Si agregáramos más texto a la celda, esta se rompería de todas maneras porque no hemos cambiado el tamaño.

Minmax:

Nos ayuda a declarar un tamaño mínimo y máximo para el ancho o alto de una celda. Podemos modificar el tamaño del contenedor sin importar el tamaño del contenido.

Entonces cambiamos los valores establecidos en las columnas; la primera en un ancho mínimo de 30px y un máximo de 300px, y la tercera con un mínimo de 60px y un máximo de 250px.

grid-template-columns: minmax(30px, 300px) 200px minmax(60px, 250px);
image.png
image.png

Como notamos, las celdas se adaptan al ancho del contenido, pero al redimensionarlas mucho más pequeñas, se desborda por el alto.

Repeat:

Imaginemos que queremos una grilla con 12 columnas del mismo ancho. No vamos a escribir 12 veces el valor del ancho, sino una vez usando repeat.

Entonces, para que la celda se adapte al tamaño del contenido sin importar la dimensión, definimos la cantidad de celdas en que queremos aplicar la acción (tres) y damos la propiedad de auto. Si colocáramos un valor en pixeles realmente no solucionaríamos el problema.

grid-template-rows: repeat(3, auto);
image.png
image.png

Notamos que ahora las celdas inicialmente son menos altas debido que sólo ocupan el espacio que ocupa el contenido. Y al dimensionarlas los contenedores no se rompen.

Genial, ¿verdad? Con estas funciones puedes jugar mucho con el contenido y redimensionarlo según tus intereses. Y lo mejor de todo, evitar que tus grillas se rompan.

Contribución creada por: José Miguel Ventimilla (Platzi Contributor).

Aportes 24

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Funciones especiales

  • minmax: ayuda a declarar el tamaño minimo y maximo para el ancho y alto de una celda, sin depender del contenido que tengamos en ella

  • repeat : se usa cuando todas las columnas o filas tienen el msmo ancho y evitar repetir el tamaño de las columnas

Código Emmet

 div.contenedor>div.item.item-${$}*9

También se puede anidar para reducir código:

grid-template-columns: repeat(3,minmax(50px,170px));

y asi evitaste hacer esto:

 grid-template-columns: minmax(50px,170px) minmax(50px,170px) minmax(50px,170px);

minmax

Nos ayuda a determinar el tamaño maximo para el tamaño de una celda

  • La funcion recibe el tamaño minimo y el tamaño maximo de las filas o columnas
grid-template-rows: minmax(30px, 100px);

repeat

Nos permite definir el tamaño de las columnas si tener que escribirlo por el numero de columnas de nuestra grilla,

  • La funcion recibe, el numero de columnas o filas y su tamaño
grid-template-columns: repeat(3, 100px);

Me ha encantado este curso, la forma de explicar de la profe es excelente! muy práctica, en otro curso a puras capturas no había comprendido.

Excelente funciones. La verdad me imaginaba cómo sería escribir 100 columnas, ¿tendría que escribir 100 pxs? Qué flojera jaja 😂😁

Este es uno de los mejores cursos que existe en la plataforma. muchas felicidades a la profesora @EstefanySalas

🤯👍

.contenedor {
  border: 5px solid #e1bee7;
  background-color: #fff1ff;
  display: grid;
  grid-template-columns: minmax(30px, 300px) 200px 60px;
  grid-template-rows: auto repeat(2, 150px);
}

.item {
  border: 5px solid #00bcd4;
  font-size: 2rem;
}

.contenedor-2 {
  margin-top: 100px;
  border: 5px solid #7986cb;
  background-color: #c5cae9;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

A mi no se me rompe o desborda el contenido como a la maestra.
No sé de qué dependa.
Llega un momento en que al redimensionar el navegador, la tabla ya no se hace más chica para que quepa el contenido.

Necesito ayuda 😦
No se que hice mal que no me pone los bordes de las celdas


en tailwind para repeat pueden aplicarlo asi

grid-rows-[repeat(3,100px)] 
**Funciones especiales:** * minmax: permite declarar cuál será la dimensión mínima y máxima que adoptará cada item de la grilla. * repeat: usando la línea de código repeat(3, auto), puedo indicar de forma más corta el número de columnas o filas que quiero crear, posterior a la coma irá el tamaño que adoptarán. **Nota.** La propiedad auto permite hacer que la columna o la fila adapte su tamaño a su contenido.

el repeat siempre tan útil 😄

  • minmax Esta función nos ayuda a declarar un tamaño mínimo y máximo para el ancho o alto de una celda. Podemos cambiar su tamaño sin depender del contenido que tienen.
  • repeat Si todas las columnas o filas tienen el mismo ancho con esta función podemos darles el tamaño a las celdas en una solar declaración

Funciones especiales
minmax(valor_mínimo, valor_máximo): sirve para poner un valor mínimo y máximo de tamaño a las celdas.
Repeat(nºveces,valor): repite las veces indicadas un valor dado.

  • minmax: esta función nos permite definir un valor mínimo y máximo del alto y ancho de una celda.

    Ejemplo:

    grid-template-columns: minmax(30px, 300px; /Definimos lineas de columnas de tamaño mínimo de 30px y tamaño máximo de 300px/

  • repeat: nos permite crear n columnas o celdas del mismo tamaño. Recibe 2 parámetros, la cantidad de filas o columnas y el tamaño que tendrán

    Ejemplo:

    .container{
    display: grid;
    grid-template-rows: repeat( 3, 150px);/*Definimos 3 lineas de filas de 150px*/
    }
    

Podemos usar la función minmax dentro de la función repeat, así:

.container{
    display: grid;
    grid-template-rows: repeat( 3, minmax(30px, 150px) );/*Definimos 3 lineas de filas de tamaño mínimo de 30px y de tamaño máximo de 150px*/
	}
¿Qué te ha parecido CSS Grid hasta ahora? Apuesto a que no sabías que tiene funciones que lo hacen aún más genial. Veamos algunas de ellas usando un código como ejemplo para que sea más práctico. ## Funciones especiales en CSS grid Primero creamos un contenedor principal con otros 9 contenedores dentro: `
`
1</div`> `
2</div`> `
3</div`> `
4</div`> `
5</div`> `
6</div`> `
7</div`> `
8</div`> `
9</div`> ` </div`> Luego, añadimos los estilos generales que hemos trabajado anteriormente. `.contenedor` { ` border: 5px solid #e1bee7`; ` background-color: #fff1ff`; ` display`: grid; ` grid-template-columns: 30px 200px 60px`; ` grid-template-rows: 100px 100px 100px`; } `.item` { ` border: 5px solid #00bcd4`; ` font-size: 2rem`; } ![image.png](https://static.platzi.com/media/articlases/Images/image%28306%29.png) ## Funciones minmax y repeat Uno de los detalles a solucionar es que al reducir el ancho de la pantalla, el tamaño de las celdas no cambia, porque es absoluto. Si agregáramos más texto a la celda, esta se rompería de todas maneras porque no hemos cambiado el tamaño. ### **Minmax**: Nos ayuda a declarar un tamaño mínimo y máximo para el ancho o alto de una celda. Podemos modificar el tamaño del contenedor sin importar el tamaño del contenido. Entonces cambiamos los valores establecidos en las columnas; la primera en un ancho mínimo de 30px y un máximo de 300px, y la tercera con un mínimo de 60px y un máximo de 250px. grid-template-columns: minmax(30px, 300px) 200px minmax(60px, 250px); ![image.png](https://static.platzi.com/media/articlases/Images/image%28307%29.png)![image.png](https://static.platzi.com/media/articlases/Images/image%28308%29.png) Como notamos, las celdas se adaptan al ancho del contenido, pero al redimensionarlas mucho más pequeñas, se desborda por el alto. ### **Repeat**: Imaginemos que queremos una grilla con 12 columnas del mismo ancho. No vamos a escribir 12 veces el valor del ancho, sino una vez usando **repeat**. Entonces, para que la celda se adapte al tamaño del contenido sin importar la dimensión, definimos la cantidad de celdas en que queremos aplicar la acción (tres) y damos la propiedad de auto. Si colocáramos un valor en pixeles realmente no solucionaríamos el problema. `grid-template-rows: repeat(3, auto`); ![image.png](https://static.platzi.com/media/articlases/Images/image%28309%29.png)![image.png](https://static.platzi.com/media/articlases/Images/image%28310%29.png) Notamos que ahora las celdas inicialmente son menos altas debido que sólo ocupan el espacio que ocupa el contenido. Y al dimensionarlas los contenedores no se rompen. Genial, ¿verdad? Con estas funciones puedes jugar mucho con el contenido y redimensionarlo según tus intereses. Y lo mejor de todo, **evitar que tus grillas se rompan**.

minmax nos permite establecer un tamaño minimo y maximo para el ancho de las columnas o alto de nuestras filas repeat(valor1, valor2) el primero nos indica la cantidad de veces a repetir y el segundo el alto o ancho que se desea

en tailwind para minmax pueden aplicarlo asi

grid-cols-[minmax(30px,300px)_200px_minmax(60px,150px)] 

Que me ayude la profe de lengua es por lo mismo que o por lo mismo de que y “por qué” 😃

.contenedor>.item.item-${$}*9

Funciones especiales: minmax declara un tamaño mínimo y máximo para el tamaño de una celda, sin depender del contenido que tiene.

Comparto este video donde explican como sacarle el maximo provecho a emmet: Video emmet

Hace rato venia viendo aportes que dejan el codigo, quienes aun no lo dominan tomense unos minutos y veanlo, realmente no tiene desperdicio.

La clase más sencilla de todas las de Platzi, gracias.