Estoy en el proceso de hacer algunas pruebas avanzadas de IE8, y parece que la antigua técnica de uso margin: 0 auto;
no funciona en todos los casos en IE8.
La siguiente pieza de HTML muestra un botón centrado en compatibilidad con FF3, Opera, Safari, Chrome, IE7 e IE8, pero NO en el estándar IE8:
<div style="height: 500px; width: 500px; background-color: Yellow;">
<input type="submit" style="display: block; margin: 0 auto;" />
</div>
(Como solución temporal, puedo agregar un ancho explícito al botón).
Entonces la pregunta es: ¿qué navegadores son correctos? ¿O es este uno de esos casos en los que el comportamiento no está definido?
(Mi opinión es que todos los navegadores son incorrectos, ¿no debería el botón tener un ancho del 100% si es "display: block"?)
ACTUALIZACIÓN: Estoy siendo un tonto. Dado que la entrada no es un elemento a nivel de bloque, debería haberlo contenido dentro de un div con "text-align: center". Habiendo dicho eso, por curiosidad, me gustaría saber si el botón debería o no estar centrado en el ejemplo anterior.
PARA EL BOUNTY: Sé que estoy haciendo cosas raras en el ejemplo y, como señalo en la actualización, debería haberlo alineado en el centro. Para la recompensa, me gustaría referencias a las especificaciones que responden:
Si configuro "display: block", ¿debería el botón tener un ancho del 100%? ¿O es esto indefinido?
Dado que la pantalla es un bloque, debería "margin: 0 auto;" centrar el botón, o no, o indefinido?