Cita:
Iniciado por rb3m width. No es que IE6 no la entienda, sino que la interpreta diferente.
Para IE6 el ancho total de una caja es el valor de lo que va adentro de la caja (width), más el relleno (padding). O sea, si dices width: 100px; padding: 10px; margin: 10px; IE 6 te va a calcular el ancho final como 100 de width más 20 de padding (10 de cada lado).
En cambio, el estándar dice que debe ser width más el padding MÁS margin. Es decir, un navegador adaptado a estándares va a interpretar la caja de arriba como 100px de width, más 20 de padding más 20 de margin. Ahí es donde se rompe todo.
Si lo vemos desde un punto de vista lógico IE6 tiene más sentido, porque el ancho de una caja real, digamos de cartón sería lo que contiene más el relleno, pero el espacio entre caja y caja no es parte de la caja. Pero el modelo estándar dice otra cosa.
Una vez que entiendes el modelo de cajas de IE6 y su diferencia con el modelo de cajas estándar vas en camino a resolver el 90% de tus problemas.
Muy bien explicado rb3m, pero diria que el 70 u 80% de los problemas solamente xD lo navegadores IE6 hasta IE8, son muy mañosos, entonces la solucion seria crear un css aparte para IE o bien utilizar hacks (no recomendable para la validacion), esperemos que IE9 sea tan bueno como dice ser xD