Durante años, centrar un elemento verticalmente en CSS fue una pesadilla de márgenes negativos y tablas. Hoy, el problema no es la falta de herramientas, sino saber elegir cuál usar según el contexto: ¿Es un botón? ¿Un párrafo? ¿O toda una sección?
Si le preguntas a un desarrollador senior cómo centrar algo, su respuesta siempre será: "¿Qué estás intentando centrar exactamente?". No existe una única línea de código mágica, pero sí existen 3 patrones modernos que cubren el 99% de los casos sin recurrir a hacks antiguos.
Si solo necesitas centrar texto dentro de un bloque (párrafos, títulos, enlaces), la propiedad clásica sigue siendo la mejor opción. Es semántica y se hereda a los hijos.
Cuándo usarlo: Títulos, párrafos y contenido dentro de botones sencillos.
Limitación: No centra verticalmente, solo horizontalmente.
Flexbox es la herramienta más versátil. Te permite controlar el eje principal (justify) y el eje cruzado (align). Es perfecto para centrar elementos "flotantes" dentro de un contenedor, como el contenido de una tarjeta o un botón con icono.
Esta combinación garantiza que el contenido esté matemáticamente en el centro, sin importar si cambia el tamaño de la pantalla.
CSS Grid introdujo la propiedad más eficiente de la historia para esta tarea: place-items.
Resume las dos líneas de Flexbox en una sola. Es la forma más moderna y limpia de centrar contenido.
Es ideal para layouts completos, secciones de héroe o galerías.
A veces necesitas centrar un elemento sobre otro sin que afecte al flujo del documento (por ejemplo, una ventana modal). Aquí usamos posicionamiento absoluto con una transformación para corregir el eje.
No memorices código, memoriza la lógica:
text-align: center Dominar estas cuatro técnicas convierte el diseño CSS en un proceso lógico y estructural, eliminando para siempre la necesidad de adivinar márgenes o usar etiquetas obsoletas.