CSS Grid: Líneas, Expansión (span) y Centrado
Aprende a posicionar elementos por líneas de cuadrícula con grid-column y grid-row, fusionar múltiples celdas con span y lograr centrado bidimensional con place-items: center.
Líneas de la Cuadrícula y la Propiedad span
En CSS Grid, las líneas divisorias se numeran automáticamente a partir de 1. Una rejilla de 3 columnas tiene 4 líneas verticales (1, 2, 3 y 4):
/* La celda inicia en la línea 1 y termina en la línea 3 (abarca 2 columnas) */
.tarjeta-destacada {
grid-column: 1 / 3;
}
/* Sintaxis equivalente con la palabra clave span */
.tarjeta-destacada {
grid-column: span 2; /* Se expande a lo ancho de 2 columnas */
grid-row: span 2; /* Se expande verticalmente a lo alto de 2 filas */
}
Alineación y Centrado Total con place-items
CSS Grid ofrece el método más rápido y compacto de toda la historia de la web para centrar cualquier elemento horizontal y verticalmente al mismo tiempo:
.contenedor-centrado {
display: grid;
place-items: center; /* Centra en ambos ejes de forma simultánea */
min-height: 200px;
}
justify-items: Controla la alineación horizontal de todas las celdas (start,end,center,stretch).align-items: Controla la alineación vertical de todas las celdas (start,end,center,stretch).place-items: Es el shorthand que combinaalign-itemsyjustify-itemsen una sola declaración.
⚡ Cuadrícula Tipo Revista con Elemento Destacado (span 2)
Observa cómo la tarjeta principal de noticias ocupa 2 columnas y 2 filas (span 2), mientras que las demás celdas se ajustan naturalmente a su alrededor:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>CSS Grid: Posicionamiento y Span</title>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
background-color: #f8fafc;
margin: 0;
padding: 25px;
color: #0f172a;
}
/* Cuadrícula tipo mosaico */
.mosaico-noticias {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: 130px;
gap: 15px;
max-width: 820px;
}
.noticia {
background: white;
border: 1px solid #cbd5e1;
border-radius: 10px;
padding: 16px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: column;
justify-content: center;
}
/* Tarjeta destacada que ocupa 2 columnas y 2 filas */
.noticia-destacada {
grid-column: span 2;
grid-row: span 2;
background: linear-gradient(135deg, #1e40af, #3b82f6);
color: white;
border: none;
padding: 24px;
}
/* Contenedor con centrado instantáneo */
.caja-centrada {
display: grid;
place-items: center;
background: #eff6ff;
border: 2px dashed #93c5fd;
border-radius: 10px;
font-weight: bold;
color: #1e40af;
text-align: center;
}
h4 { margin: 0 0 6px 0; }
p { margin: 0; font-size: 0.85rem; opacity: 0.9; }
</style>
</head>
<body>
<h3>Mosaico con grid-column: span 2 y place-items: center</h3>
<div class="mosaico-noticias">
<!-- Destacado grande -->
<div class="noticia noticia-destacada">
<span style="font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; background: rgba(255,255,255,0.2); padding: 4px 8px; border-radius: 4px; display: inline-block; margin-bottom: 12px; width: fit-content;">
Noticia Principal · span 2x2
</span>
<h2 style="margin: 0 0 10px 0;">Lanzamiento de CSS Grid 2.0 en Kilopolis</h2>
<p style="font-size: 1rem; line-height: 1.5;">
Aprende a maquetar dashboards interactivos y revistas digitales utilizando celdas expansibles sin trucos ni flotaciones obsoletas.
</p>
</div>
<!-- Celdas secundarias -->
<div class="noticia">
<h4>Tutorial 1</h4>
<p>Selectores de atributo modernos</p>
</div>
<div class="noticia">
<h4>Tutorial 2</h4>
<p>Variables y temas oscuro/claro</p>
</div>
<!-- Celda centrada con place-items: center -->
<div class="caja-centrada">
place-items: center<br>
<span style="font-size: 0.75rem; font-weight: normal;">Centrado bidimensional en 1 línea</span>
</div>
</div>
</body>
</html>
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual Completo de CSS3, Flexbox y Grid y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.