En este ejemplo, la imagen no está centrada. ¿Por qué? Mi navegador es Google Chrome v10 en Windows 7, no IE.
<img src="/img/logo.png" style="margin:0px auto;"/>
En este ejemplo, la imagen no está centrada. ¿Por qué? Mi navegador es Google Chrome v10 en Windows 7, no IE.
<img src="/img/logo.png" style="margin:0px auto;"/>
Respuestas:
agregue display:block;
y funcionará. Las imágenes están en línea de forma predeterminada
Para aclarar, el ancho predeterminado para un block
elemento es auto
, que por supuesto llena todo el ancho disponible del elemento contenedor.
Al establecer el margen en auto
, el navegador asigna la mitad del espacio restante a margin-left
y la otra mitad a margin-right
.
margin:auto
centrar un elemento en el flujo. ( display:block
o display:table
, position:static
o position:relative
, etc.)
0px auto
a solo auto
, todavía no funciona.
En algunas circunstancias (como las versiones anteriores de IE, Gecko, WebKit) y la herencia, los elementos con position:relative;
impedirán margin:0 auto;
trabajar, incluso si top
, right
, bottom
, y left
no son establecidas.
Establecer el elemento en position:static;
(el valor predeterminado) puede solucionarlo en estas circunstancias. Generalmente, los elementos a nivel de bloque con un ancho especificado respetarán el margin:0 auto;
uso de relative
o el static
posicionamiento.
margin: 0 auto
funciona bien en elementos relativamente posicionados siempre que sean elementos de bloque sin flotador y un ancho especificado ...
float
y display
pueden cambiar ese comportamiento.
Puede centrar div de ancho automático usando display:table;
div{
margin: 0px auto;
float: none;
display: table;
}
En mi caso, el problema era que había establecido el ancho mínimo y máximo sin el ancho en sí.
position:static
, tener un width:
conjunto fijo y ser un display:block
elemento
Siempre que no agreguemos ancho y agreguemos margin:auto
, supongo que no funcionará. Es de mi experiencia. El ancho da la idea de dónde exactamente necesita proporcionar márgenes iguales.
hay una alternativa para margin-left:auto; margin-right: auto;
o margin:0 auto;
para los que usan position:absolute;
así es cómo:
establece la posición izquierda del elemento al 50% (left:50%;
) pero eso no lo centrará correctamente para que el elemento se centre correctamente, debe darle un margen de menos la mitad de su ancho, que centrará su elemento perfectamente
aquí hay un ejemplo: http://jsfiddle.net/35ERq/3/