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

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

Algunos de nuestros reconocimientos:

Premios KeepCoding

Quiero que hagas algo: imagina que estás organizando una mesa para una cena especial, así que tienes que decidir cuántos lugares habrá, cómo distribuirás los platos y cuánto espacio tendrá cada persona. Ahora traslada esta idea a la web, ¿dónde quieres organizar los elementos como las imágenes, los textos o los botones? Puedo decirte que, en estos casos, grid-template-columns en CSS puede convertirse en tu mejor aliado. Hoy quiero hablarte de esta propiedad que te permite controlar cómo se distribuyen las columnas de un contenedor grid de una manera bastante sencilla y eficiente, para que puedas dominar la organización de tus diseños web.

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

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

Grid-template-columns es una propiedad del sistema CSS Grid que define el tamaño y la cantidad de columnas en una cuadrícula. Puedes pensar en ella como el plano que dibujas antes de construir una casa. Ciertamente, este te permite establecer las bases para distribuir el contenido en el espacio disponible antes de empezar a construir. 

Cuando usas grid-template-columns, es como si estuvieras dibujando los planos de tu cuadrícula, por lo que puedes definir columnas de tamaño fijo, de proporciones relativas o incluso ajustarlas automáticamente dependiendo del contenido o el tamaño de la pantalla.

¿Para qué sirve grid-template-columns?

Realmente, puedo decirte que la propiedad grid-template-columns es una de las herramientas más útiles en el arsenal de un diseñador web cuando se trata de crear layouts complejos y flexibles. Esto se debe a que su propósito principal es darte control total sobre la distribución de columnas en tu diseño. Pero veámoslo un poco más de cerca:

  1. Layouts uniformes: Te permite crear cuadrículas donde todas las columnas tengan el mismo tamaño.
  2. Distribuciones personalizadas: Puedes asignar tamaños específicos a cada columna para enfatizar ciertos elementos.
  3. Diseños responsivos: También tienes la opción de ajustar automáticamente el tamaño y número de columnas dependiendo del tamaño de la pantalla, para que tu página web funcione correctamente desde cualquier dispositivo.
  4. Organización visual: Te permite alinear elementos siguiendo una lógica visual para mejorar la experiencia del usuario.

Por ejemplo, si estás diseñando una galería de imágenes, puedes usar esta propiedad para asegurarte de que todas las imágenes se alineen perfectamente.

Sintaxis básica de grid-template-columns

Lo mejor de todo es que, además de ser una propiedad muy útil, su sintaxis es muy intuitiva. En su forma más simple, especifica los tamaños de las columnas separados por espacios, por ejemplo:

.grid-container {
display: grid;
grid-template-columns: 100px 200px 100px;
}

Permíteme explicarte este código. Aquí, el contenedor tendrá tres columnas: la primera y la tercera tendrán 100 píxeles de ancho, y la segunda 200 píxeles.

Ejemplos de grid-template-columns

En este punto, es necesario que veamos algunos ejemplos de cómo usar esta propiedad en diferentes casos y con diferentes propósitos. Vamos a ello:

Crear columnas de tamaño fijo

Si necesitas agregar columnas con un tamaño específico, este es el ejemplo perfecto:

.grid-container {
display: grid;
grid-template-columns: 150px 150px 150px;
}

Esto crea tres columnas de igual tamaño, lo que es ideal para organizar elementos como tarjetas o productos.

Usar fracciones para que los tamaños sean dinámicos

Cuando quieres que las columnas se ajusten proporcionalmente al espacio disponible, puedes usar fracciones (fr):

.grid-container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
}

En este caso, la primera y la tercera columna ocuparán el mismo espacio, pero la segunda columna será el doble de grande que las otras.

Crear columnas automáticas con auto

A veces no sabes exactamente cuánto espacio ocuparán los elementos, por lo que puedes usar el valor auto:

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

De esta manera, las columnas se ajustarán automáticamente dependiendo del contenido que tengan.

Definir una distribución responsiva con minmax()

La función minmax() te permite definir un rango para el tamaño de las columnas, lo que es muy útil cuando quieres crear diseños responsivos:

.grid-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

Aquí, por ejemplo, las columnas tendrán un tamaño mínimo de 150 píxeles. Pero, si hay suficiente espacio, se expandirán para llenar el contenedor.

Consejos para usar grid-template-columns

Retomando la analogía del principio, piensa en el desarrollo de tu página web como el diseño y la construcción de una casa: requiere mucha planificación, estructuración y atención a los detalles. Si quieres desarrollar una página verdaderamente sólida, atractiva y funcional, puedes seguir estos consejos:

  1. Planifica tus columnas: Antes de escribir código, piensa en el diseño que necesitas, como si estuvieras haciendo los planos de la casa. ¿Todas las columnas serán iguales o habrá algunas más grandes? ¿Por qué?
  2. Usa fracciones para flexibilidad: Las fracciones (fr) son ideales para crear diseños modernos y fluidos.
  3. Combínalo con otras propiedades: Usa propiedades como gap para añadir espacio entre columnas y grid-template-rows para definir las filas.
  4. Prueba diferentes valores: Juega con auto, minmax() y repeat() para encontrar la mejor combinación para tu diseño.

Y eso sería todo por esta ocasión. Si te interesa este tema tanto como a mí, probablemente coincidimos en que grid-template-columns en CSS es una de esas herramientas que, una vez que la dominas, transforman por completo la manera en que diseñas tus sitios web. Si te animas a probarlo, notarás que te permite pasar de layouts caóticos a estructuras organizadas y adaptables, como si colocaras cada pieza de un rompecabezas en su lugar.

Si alguna vez has sentido que el diseño web es complicado, quiero decirte que todo cambia cuando encuentras la tutoría y las herramientas adecuadas. Por eso, en el Bootcamp de Desarrollo Web, te enseñaremos a dominar las propiedades de CSS, HTML, JavaScript, React y otras tecnologías altamente demandadas, para que puedas crear páginas increíbles y empezar una nueva carrera como desarrollador.

¡Es tu momento de construir el futuro que siempre has soñado! 

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.