Grid-auto-columns en CSS: Cómo gestionar las columnas automáticas 

| Última modificación: 10 de enero de 2025 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Quiero que hagamos algo. Vamos a imaginar que estás diseñando un tablero dinámico, donde hay columnas que aparecen de la nada y se van adaptando al contenido que va llegando. En un primer momento, suena bastante útil, ¿verdad? Pero, ¿no sería acaso un dolor de cabeza si no tienes una forma de controlarlas? Afortunadamente, cuando hablamos de diseño web con CSS, tenemos la propiedad grid-auto-columns, con la cual podemos definir cómo deben comportarse estas columnas automáticas. 

En este artículo, vamos a explorar qué es grid-auto-columns, para qué sirve y cómo usarlo para mantener la armonía en tus diseños web.

Grid-auto-columns en CSS: Cómo gestionar las columnas automáticas 

¿Qué es grid-auto-columns en CSS?

Empecemos desde lo más básico. Recordemos que el modelo de cuadrícula que conocemos como CSS Grid, es un sistema de diseño bidimensional con el cual podemos crear layouts complejos más fácilmente. Dentro de este sistema, grid-auto-columns es la propiedad que nos permite especificar el ancho de las columnas automáticas dentro de un contenedor de grid, es decir, donde está el elemento padre. Estas columnas automáticas aparecen cuando un elemento hijo necesita ocupar más columnas de las que has definido explícitamente con grid-template-columns.

¿Has visto alguna vez una mesa extensible? Puede que la pregunta suene rara en este contexto, pero puedes pensar que los espacios adicionales que se crean al desplegarla son tus columnas automáticas, y grid-auto-columns decide qué tan anchos serán esos espacios.

¿Para qué sirve grid-auto-columns?

Esta propiedad es especialmente útil en situaciones donde necesitas flexibilidad y orden al mismo tiempo. Puede parecer contradictorio, pero es necesario, por ejemplo, en estos casos:

  • Si estás trabajando en un diseño responsivo o quieres añadir  contenido dinámico, como una galería de imágenes o listas de datos.
  • Cuando necesitas asegurarte de que las columnas adicionales mantengan un ancho uniforme.
  • Para garantizar que el grid se adapte de manera controlada sin romper la estetica del diseño.

Así que, como puedes ver, grid-auto-columns te permite mantener el control sobre tu grid incluso en situaciones que no esperas que sucedan, como cuando el contenido crece más de lo que habrías imaginado.

Sintaxis de grid-auto-columns

Ahora que ya sabes qué es y para qué sirve, vamos a ver cómo funciona esta propiedad. Primero, presta atención a su sintaxis básica:

.container {
display: grid;
grid-auto-columns: valor;
}

Valores

En cuanto a los valores, veremos que hay varios posibles: 

  • Longitudes fijas (px, em, rem, etc.): Te permiten establecer un ancho específico y constante para cada columna automática.
grid-auto-columns: 100px;
  • Fracciones (fr): Estas se utilizan para distribuir espacio proporcionalmente entre las columnas automáticas dentro del contenedor grid.
grid-auto-columns: 1fr;
  • minmax(): Este valor, define un rango entre un tamaño mínimo y máximo que las columnas automáticas pueden ocupar. Por esto, es ideal para crear diseños flexibles y responsivos.
grid-auto-columns: minmax(100px, 1fr);
  • auto: Las columnas automáticas se ajustan automáticamente al tamaño del contenido.
grid-auto-columns: auto;
  • Porcentajes (%): Con estos, puedes hacer que las columnas ocupen un porcentaje específico del ancho del contenedor.
grid-auto-columns: 25%;
  • Valores de ajuste al contenido (fit-content()): Aquí, las columnas se ajustan al contenido pero respetando un límite máximo especificado.
grid-auto-columns: fit-content(200px);

Como puedes ver, cada valor tiene un propósito específico dependiendo del diseño que deseas lograr.

Ejemplos con grid-auto-columns

Ahora, voy a enseñarte algunos ejemplos con los que podrás comprender mejor cómo funciona esta propiedad.

Establecer columnas uniformes

<div class="grid-container">
<div class="item">A</div>
<div class="item">B</div>
<div class="item">C</div>
<div class="item">D</div>
</div>

<style>
.grid-container {
display: grid;
grid-template-rows: repeat(2, 1fr);
grid-auto-columns: 150px;
}

.item {
background-color: #f0f0f0;
text-align: center;
padding: 10px;
}
</style>

En este caso, todas las columnas automáticas tendrán un ancho fijo de 150px, lo que mantendrá la consistencia.

Adaptar el ancho al contenido

<div class="grid-container">
<div class="item">Elemento corto</div>
<div class="item">Un elemento con mucho más texto que ocupa más espacio.</div>
</div>

<style>
.grid-container {
display: grid;
grid-template-rows: auto;
grid-auto-columns: minmax(100px, auto);
}

.item {
background-color: #add8e6;
text-align: center;
padding: 20px;
}
</style>

Aquí, las columnas automáticas se ajustarán al contenido, con un ancho mínimo de 100px.

Diferencias entre grid-auto-columns y grid-template-columns

Sé que es muy fácil llegar a confundir estas dos propiedades. Por eso, voy a explicarte de forma muy concreta para qué sirve cada una de ellas y, así, podrás identificar la diferencia.

  • grid-template-columns: Define las columnas explícitas en el grid.
  • grid-auto-columns: Define el ancho de columnas automáticas que se generan cuando el contenido excede las columnas definidas.

En realidad, ambas propiedades se complementan para ofrecerte un control más amplio sobre tu diseño.

Y con esto, hemos terminado por hoy. Ahora que tienes una comprensión clara de cómo funciona esta propiedad, seguro que puedes crear layouts flexibles y profesionales que se adapten a cualquier situación.

Si sueñas con dominar las propiedades de CSS y otras tecnologías de desarrollo altamente demandadas en la actualidad, este es el momento perfecto para unirte al Bootcamp de Desarrollo Web de KeepCoding. Nuestro curso está diseñado para que puedas convertirte en un experto en desarrollo backend y frontend en apenas unos pocos meses y, así, empezar a trabajar en uno de los sectores con más alta demanda, excelentes oportunidades y salarios inigualables. 

¡No aplaces más la oportunidad de empezar una nueva vida!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo web

Full Stack Bootcamp

Conviértete en Full Stack Deeveloper en solo 10 meses. Accede a un sector con el 98,49% de empleabilidad con sueldos de hasta 80K.