lunes, 15 de agosto de 2011

Problema de margin: 0 auto en IE

He descubierto que en algunos casos no funciona el margin:0 auto para alinear cajas en el centro de las páginas en internet explorer, especialmente en las versiones 7 y 8 (no me pregunten en IE6). Para arreglar esto debemos forzar el Doctype del documento. La primera línea del documento debe ser:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

O si estamos usando html5:
<!DOCTYPE html>

Con esto, IE interpretará correctamente el margin:0 auto del CSS.

Otra solución, menos ortodoxa, es cambiar el text-align del body:
body{ text-align: center }

Pero esto nos obligará a volver a ponerlo alineado a la izquierda en las cajas de dentro del body.

Otra cosa muy importante es que la primera linea del html debe ser el docType. Si pasara que algún backend anda metiendo mano a nuestro html (poniendo tags <script> antes del docType), el IE va a interpretar todo literalmente para la mierda.

jueves, 3 de marzo de 2011

jueves, 10 de febrero de 2011