WhatsApp

  

Domina CSS Grid: auto‑fit vs auto‑fill – Guía completa con ejemplos prácticos

Aprende la diferencia entre las funciones auto‑fit y auto‑fill de CSS Grid, descubre cuándo usar cada una y explora ejemplos reales, buenas prácticas, compatibilidad y trucos de optimización.

CSS Grid: auto-fit vs auto-fill

Una guía paso a paso para entender, aplicar y sacarle el máximo provecho a estas dos poderosas funciones de grid-template-columns.

¿Qué son auto-fit y auto-fill?

Ambas palabras clave forman parte de la sintaxis repeat() de CSS Grid y permiten crear columnas (o filas) que se repiten automáticamente según el espacio disponible.

  • auto-fill: crea tantas pistas (track) como sea posible, incluso si quedan vacías.
  • auto-fit: behave similar, pero contrae las pistas vacías, dejando que el contenido las ocupe.

La diferencia clave se vuelve evidente cuando el contenedor no tiene suficiente contenido para rellenar todas las pistas creadas.

Comparativa rápida (2‑column layout)

auto‑fill
  • Genera pistas fijas incluso sin contenido.
  • Los espacios vacíos aparecen como “huecos” visibles.
  • Ideal para layouts de galería donde se desea mantener una cuadrícula constante.
auto‑fit
  • Colapsa pistas sin contenido, permitiendo que los ítems se expandan.
  • El contenedor se adapta al número real de elementos.
  • Perfecto para tarjetas flexibles o “cards” que deben ocupar todo el ancho disponible.

Ejemplo 1: Galería de imágenes con auto-fill

.gallery {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

En este caso, auto-fill crea tantas columnas de 150px como el contenedor lo permita. Si el número de imágenes es menor que el número de columnas, el resto queda como espacio vacío, manteniendo la alineación de la cuadrícula.

Imagen 1
Imagen 2

Ejemplo 2: Tarjetas fluidas con auto-fit

.cards {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

Con auto-fit, si solo hay dos tarjetas, ambas se expanden para ocupar todo el ancho del contenedor, evitando los huecos que produciría auto-fill.

Tarjeta A
Tarjeta B

Uso avanzado: combinar minmax() con media queries

.responsive-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
@media (max-width: 600px) {
  .responsive-grid {
    grid-template-columns: 1fr; /* forzar una columna en móviles */
  }
}

Esta técnica garantiza que, en dispositivos pequeños, la cuadrícula colapse a una sola columna, mientras que en pantallas mayores auto-fit mantiene el comportamiento fluido.

Compatibilidad y rendimiento

  • Soporte completo en navegadores modernos (Chrome 57+, Firefox 52+, Edge 16+, Safari 10.1+).
  • En navegadores legacy, la regla se ignora y el layout vuelve al comportamiento de grid-template-columns: none, por lo que siempre se recomienda un fallback display: block;.
  • Rendimiento: repeat(auto-fit/fill) no afecta significativamente el renderizado; sin embargo, evitar minmax() con valores extremadamente grandes (p. ej., 100vh) puede reducir el cálculo de pistas.

Mejores prácticas y trucos de troubleshooting

1️⃣ Elige auto-fit cuando quieras que los ítems ocupen todo el ancho disponible.
2️⃣ Usa auto-fill para mantener una cuadrícula “fija” y predecible, útil en galerías o tableros de control.
3️⃣ Verifica el gap y los padding de los ítems; a veces los huecos aparecen por márgenes internos y no por la diferencia entre fit y fill.
4️⃣ Si notas que el layout colapsa inesperadamente, revisa que la unidad de minmax() sea razonable (p. ej., minmax(0, 1fr) es la forma más segura).
5️⃣ En entornos de producción, habilita prefers-reduced-motion para evitar transiciones de grid que puedan generar “jank” en dispositivos móviles.

Conclusión

auto-fit y auto-fill son dos caras de la misma moneda que, bien empleadas, facilitan la creación de diseños responsivos sin necesidad de media queries excesivas. La clave está en comprender cuándo los huecos son deseables (galerías) y cuándo deben desaparecer (tarjetas fluidas).

© 2025 BlogTech – Todos los derechos reservados.


Domina CSS Grid: auto‑fit vs auto‑fill – Guía completa con ejemplos prácticos
ASIMOV Ingeniería S. de R.L. de C.V., Emiliano Nava 15 noviembre, 2025
Compartir
Iniciar sesión dejar un comentario

  
Media Queries Avanzados en CSS: Conceptos, Estrategias y Ejemplos Prácticos
Aprende a dominar las media queries avanzadas en CSS, incluyendo operadores lógicos, rangos, características de preferencia del usuario, consultas de contenedor y mejores prácticas para rendimiento y accesibilidad.