Aprende cómo centrar una imagen en CSS de forma sencilla. Descubre técnicas para alinear horizontal, vertical y de manera responsiva.
Saber cómo centrar una imagen en CSS es un conocimiento importante para la creación y edición de sitios web. Incluso con un diseño bonito, una foto mal posicionada puede comprometer toda la apariencia y la estructura de una página.
Y, aunque parezca algo básico, muchas veces esta tarea genera dudas, principalmente en quienes aún no tienen mucha experiencia técnica en lenguaje de estilo.
Es válido destacar que centralizar imágenes no es solo una cuestión estética. Es un cuidado que proporciona un aspecto más profesional a las páginas en internet y contribuye directamente con la experiencia de navegación de los usuarios.
Por lo tanto, ¡consulta en este contenido cómo centrar una imagen en la práctica con CSS, tanto horizontal como verticalmente, además de otros puntos relevantes sobre el tema!

Por qué alinear imágenes es importante en el diseño moderno
En sitios profesionales, cada detalle cuenta. Y la centralización correcta de una imagen es un aspecto que transmite más organización, mejora la lectura del contenido y crea una armonía con los demás elementos.
Además, una buena alineación es indispensable para garantizar un diseño limpio y responsivo, en el cual las páginas funcionan bien en diferentes tamaños de pantalla, desde computadoras hasta celulares y tablets.
Además, al prestar atención a la alineación de las imágenes, evitas que se desplacen y proporcionas un aspecto más equilibrado a tus páginas. Estos puntos son esenciales para la usabilidad y la tasa de conversión de los sitios web.
Cómo centrar una imagen en CSS horizontalmente: formas tradicionales
Existen dos métodos clásicos de centralización horizontal en CSS que aún funcionan bien en diversas situaciones. ¡Vea cuáles son!
Text-align: center no container
Este método es ideal cuando la imagen está dentro de un elemento en línea o en línea-bloque, como un <div>. Mira un ejemplo:

Esta es una opción más simple, sin necesidad de configuraciones adicionales. Sin embargo, solo funciona si la imagen es un elemento en línea y no modifica la alineación vertical.
Margin: auto com display: block e largura
Otro método tradicional es utilizar margin: auto, siempre que la imagen tenga display: block y un ancho (width) definido. Destacando que debe ser menor que el ancho de la página. Vea un ejemplo:

En esta alternativa, la imagen se convierte en bloque, permitiendo que margin: auto; la centralice horizontalmente, sin necesidad de estilizar el contenedor. Sin embargo, requiere definición de ancho para funcionar correctamente.
Tabela comparativa
Consulta un resumen con las principales ventajas, desventajas y uso ideal de cada método:
Método | Pros | Contras | Ideal para |
---|---|---|---|
Text-align: center | Simple, directo y rápido | No sirve para alineación vertical | Layouts básicos e imágenes inline |
Margin: auto | Controla márgenes fácilmente | Necesita un ancho definido | Elementos block en columnas |
Cómo centrar una imagen en CSS con soluciones modernas (Flexbox y CSS Grid)
Con el avance de CSS, surgieron maneras más eficientes y versátiles para centrar imágenes, especialmente útiles para layouts responsivos. ¡Conócelas!
Flexbox — display: flex; justify-content: center
Flexbox es un modelo poderoso para alinear elementos tanto en horizontal como en vertical, con más control sobre el comportamiento de los elementos. Es flexible, responsive y simple de implementar, sin necesidad de definir el ancho de la imagen.
Vea:

Grid — display: grid; place-items: center
El CSS Grid permite alinear una imagen en el centro exacto del contenedor, tanto horizontal como verticalmente, con solo una línea de código.
Él permite una centralización multidimensional de forma clara y concisa, ideal para interfaces modernas. Compruébalo:

Centralización vertical y completa (horizontal + vertical)
Para centrar una imagen exactamente en el medio de la pantalla (o de un contenedor), es posible combinar métodos más robustos. ¡Revísalos a continuación!
Flexbox completo — justify-content + align-items
El flexbox es genial para posicionar cualquier elemento en el centro exacto. Funciona bien en diferentes resoluciones de pantalla, siendo una opción interesante, por ejemplo para páginas de inicio de sesión y destacados visuales. Mira:

Posicionamento absoluto + transform: translate(-50%, -50%)
Este es un método tradicional para centralizar sin depender de Flexbox o Grid. Es útil en diseños más antiguos o cuando no se desea cambiar el diseño del contenedor. Sigue un ejemplo:

CSS Grid com place-items em um container de altura total
Para layouts modernos, el CSS Grid sigue siendo una de las formas más directas de centralizar imágenes en medio de la pantalla. Es simple y eficaz. Compruébalo:

Centralización y responsividad
La responsividad es una característica primordial para garantizar que las imágenes permanezcan centradas en cualquier dispositivo, sin cortes y sin distorsionar los diseños de las páginas.
Para esto, también existen códigos específicos para que puedas usar. ¡Mira!
Comportamento em telas menores (media queries)
Es posible ajustar el posicionamiento con media queries, evitando que las imágenes grandes excedan el ancho de la pantalla. Sigue un ejemplo:

Impacto da largura e altura do container
Es importante definir los límites máximos y mínimos del contenedor para evitar que la centralización rompa el diseño en dispositivos pequeños, como teléfonos móviles.
Dicas para elementos sem tamanho fixo
Para complementar, consulta algunos consejos prácticos para lidiar con ellos sin tamaño fijo:
- Utilice max-width: 100% para que la imagen se adapte al tamaño del contenedor;
- Evita usar position: absolute con imágenes que necesitan ajustarse dinámicamente;
- Combine flex o grid con height (altura): auto para un mayor control.
Flexbox y Grid se adaptan mejor cuando el elemento no tiene ancho o altura predefinidos, manteniendo la centralización en cualquier situación.
Flujo de diseño con Flexbox vs. CSS Grid
Flexbox es ideal para una dimensión (fila o columna). Eje principal → alineación simple.
Ya el Grid es mejor para alineación en dos dimensiones (línea y columna al mismo tiempo). Líneas + columnas → alineación completa.
Compatibilidad
Técnica | Compatibilidad |
---|---|
Flexbox | Navegadores modernos y antiguos |
Grid | Navegadores modernos |
transform + absolute | Ampliamente soportado |
Buenas prácticas
A la hora de centrar una imagen en CSS, es importante seguir algunas buenas prácticas, como:
- Mantener el código limpio;
- Usar clases específicas;
- Probar diferentes tamaños de pantalla;
- Combinar técnicas cuando sea necesario;
- Utilizar imágenes optimizadas (livianas) para una carga más rápida;
- Siempre define “alt” en las imágenes para accesibilidad y SEO (Search Engine Optimization).
Mira:
Ejercicio práctico
Copia el código a continuación, cambia el ancho de la imagen y mira cómo se comporta:
<div class="container">
<img src="imagem.jpg" alt="Imagem centralizada">
</div>
<style>
.container {
display: flex;
justify-content: center;
align-items: center;
height: 600px;
}
img {
max-width: 100%;
height: auto;
}
</style>
Prueba directa en la herramienta de edición de HostGator o en plataformas como CodePen.

Conclusión y próximos pasos
Con la información de este contenido, has visto cómo centrar una imagen en CSS de diferentes formas, desde métodos tradicionales hasta opciones más modernas. A partir de esto, realiza pruebas y elige una técnica para posicionar fotos en tus páginas.
¿Quieres seguir aprendiendo? Consulta estos otros contenidos en el blog de HostGator: