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 blockelemento 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-lefty la otra mitad a margin-right.
margin:autocentrar un elemento en el flujo. ( display:blocko display:table, position:statico position:relative, etc.)
0px autoa 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 leftno 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 relativeo el staticposicionamiento.
margin: 0 autofunciona bien en elementos relativamente posicionados siempre que sean elementos de bloque sin flotador y un ancho especificado ...
floaty displaypueden 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:blockelemento
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/