Logo

dev

Portada del blog post.

Centrando un Div en CSS con Flexbox y Grid

css
desarrollo web
flexbox
grid

Centrar un <div> ha sido uno de los retos más comunes en el desarrollo web, especialmente porque hay múltiples maneras de lograrlo y la “mejor” forma ha evolucionado con el tiempo. Afortunadamente, en 2024 tenemos soluciones poderosas y más fáciles de entender, gracias a las propiedades de Flexbox y Grid en CSS.

Usando Flexbox

Flexbox sigue siendo una de las maneras más eficientes de centrar elementos, especialmente cuando quieres alinear cosas de forma simple y sin preocuparte por el diseño de una cuadrícula completa.

<div class="container">
  <div class="content">Soy un `<div>` centrado</div>
</div>
.container {
  display: flex;
  justify-content: center; /* Centra horizontalmente */
  align-items: center;     /* Centra verticalmente */
  height: 100vh;           /* Ajusta la altura para centrar en toda la pantalla */
}

Explicación Flexbox

  • display: flex; activa el modo flexbox en el contenedor.
  • justify-content: center; centra el <div> horizontalmente.
  • align-items: center; centra el <div> verticalmente.

Este método es ideal para centrar contenido en el centro de la pantalla o de un contenedor específico.

Usando CSS Grid

CSS Grid es otra herramienta poderosa, especialmente útil si tienes un diseño de múltiples columnas y filas, pero puedes usarlo para centrar un único elemento con facilidad.

<div class="container">
  <div class="content">Soy un `<div>` centrado</div>
</div>
.container {
  display: grid;
  place-items: center; /* Centra horizontal y verticalmente */
  height: 100vh;
}

Explicación Grid

  • display: grid; activa el modo grid.
  • place-items: center; alinea los elementos horizontal y verticalmente de manera simultánea.

Este método es muy intuitivo y requiere menos código que Flexbox para casos simples de centrado.

¿Cuál Método Deberías Usar?

  • Flexbox: Ideal para centrar contenido de forma simple y rápida. Perfecto para aplicaciones con diseños más flexibles.
  • CSS Grid: Excelente para casos donde ya estés usando Grid para el layout o si necesitas un centrado muy preciso y conciso.

En resumen, con Flexbox y Grid, centrar un <div> se ha vuelto mucho más fácil que en años anteriores. Prueba con estos métodos en tus proyectos y elige el que mejor se adapte a tu diseño.