Formulario HTML CSS: ¿cómo centrar el formulario en la página?

Hice un formulario y estoy tratando de centrarlo en la página, pero no funciona. Intenté aplicar estos 2 CSS pero no funcionó.

form{margin: 0 auto;} form{margin: auto;} 

También intenté encerrar el formulario en div.container y aplicarle el mismo CSS, pero aún nada.

Pero esto funciona:

 {margin: 0 250px 0;} 

Formulario aquí

Necesitas hacer dos cosas para lograr esto:

1) Cambie la visualización de inline-block en inline-block en el formulario que se va a block .
2) Corrige el ancho (actualmente lo tienes como auto ).

Demostración: http://jsfiddle.net/bMf9M/2/

O si no desea corregir el tamaño del formulario, puede usar text-align: center (Thanks @donderpiet)

Demostración: http://jsfiddle.net/bMf9M/4/

Debe especificar el ancho del contenedor como elementos con display:block propiedad del display:block ajusta automáticamente al ancho máximo de su contenedor.

Necesita establecer un ancho si desea usar margin: auto;

Su form tiene una display: inline-block; propiedad display: inline-block; , lo que lo hace comportarse como un elemento en línea. Entonces debes agregar text-align: center; a su padre para que se centre horizontalmente. Me gusta esto: http://jsfiddle.net/bMf9M/4/ .

No se olvide de configurar el text-align del formulario, text-align a la left , de lo contrario tendrá texto alineado al centro.