Cómo centrar un div en CSS
Centrar elementos en CSS se convierte en una lente para una frustración más amplia con el modelo de maquetación de la web: muchos recuerdan lo trivial que era antes con etiquetas `<center>` y diseños basados en tablas, y lo contrastan con la mezcla actual de flexbox, grid y reglas matizadas del box model. Los comentaristas señalan que CSS moderno por fin ofrece formas potentes y nativas de centrar y alinear contenido, pero sostienen que el modelo mental, la terminología y las peculiaridades heredadas de navegadores hacen que parezca mucho más complejo que los frameworks de UI de escritorio o el HTML temprano. Debajo de las bromas y la nostalgia hay puntos serios sobre accesibilidad, diseño responsivo en distintos dispositivos y si los estándares web en evolución han intercambiado simplicidad por flexibilidad de una manera que era inevitable o en gran parte autoinfligida.
Enfoques heredados de HTML (<center>, tablas)
- Muchos recuerdan que centrar era trivial con
<center>y los diseños basados en tablas, y contrastan eso con la complejidad de CSS. - Algunos sostienen que
<center>no era “tan malo” para casos comunes y que los navegadores todavía soportan de forma efectiva su comportamiento internamente. - Otros subrayan que no era semántico, era limitado (sobre todo solo horizontalmente) y con razón quedó obsoleto en favor de CSS.
- Las tablas para maquetación se recuerdan como algo que “realmente funcionaba” y era fácil de razonar, pero se critican como una pesadilla para la accesibilidad, difíciles de mantener y no responsivas.
Por qué centrar en CSS se siente difícil
- Centrar significa cosas distintas: horizontal vs vertical, relativo al contenedor padre vs al viewport, un solo elemento vs varios, dirección del flujo del texto, comportamiento ante el ajuste de línea.
- Esta variedad lleva a múltiples mecanismos de CSS, no a un único interruptor de “centrar esto”.
- Desarrolladores veteranos describen el dolor histórico: trucos previos a Flexbox, incompatibilidades con IE6 y sutiles diferencias entre navegadores.
- Algunos dicen que la confusión viene de modelos mentales erróneos y de no entender el box model,
displayy posicionamiento; otros responden que, si la mayoría modela mal esto, es un fallo de diseño.
Flexbox y Grid como soluciones modernas
- Muchos consideran que centrar es “un problema resuelto” con Flexbox y Grid (
display: flex+justify-content/align-items, odisplay: grid+place-content: center). - Otros sienten que usar Flexbox/Grid solo para centrar un elemento es excesivo y no intuitivo, y ven arbitrarios nombres de propiedades como
justify-contentfrente aalign-items. - Hay debate sobre qué método de maquetación preferir: algunos usan Flexbox para casi todo; otros dicen que Grid está infrautilizado y es mejor para grids de verdad.
Críticas a la complejidad de CSS y su diseño
- Varios llaman a CSS un “miasma” o una “catástrofe”: reglas superpuestas, especificidad, herencia y muchos modelos de maquetación parcialmente solapados.
- Otros defienden la complejidad como reflejo de la verdadera dificultad de la maquetación automática en viewports y tamaños de contenido desconocidos.
- Se hacen comparaciones con frameworks de UI de escritorio y juegos, afirmando que resolvieron la maquetación antes o de forma más limpia; las réplicas dicen que no enfrentan las mismas exigencias de multiplataforma, accesibilidad y anulaciones por parte del usuario.
Semántica, accesibilidad y uso en el mundo real
- Fuerte hilo argumental de que usar tablas para maquetación y hacer un mal uso de elementos HTML perjudica a los lectores de pantalla y ata el orden del DOM a la presentación.
- Los contraargumentos dicen que la pureza semántica está sobrevalorada y que herramientas como Tailwind o las maquetaciones con tablas siguen siendo prácticas.
Reacciones al artículo y al sitio
- El artículo fue ampliamente elogiado como la mejor y más completa explicación de “centrar un div”, especialmente por sus demos interactivas.
- A algunos no les gusta la UX del sitio (trucos de scroll, avatar/sidekick emergente), y la encuentran distractora a pesar de valorar el contenido.