Esto sucede porque los exploradores tienen distintas maneras de interpretar nuestro código, IE6 y IE7 se interpretan diferente entre ellos tambien. puedes utilizar condicionales en el código para evitar este problema creando varios css de acuerdo a tu navegador.
Código :
<!--[if gt IE 5.5]>
[Esto se mostrará a versiones posteriores a IE 5.5. "gt" = mayor que]
<![endif]-->
<!--[if gte IE 5.5]>
[Esto se mostrará a IE 5.5 y versiones posteriores. "gte" = mayor que o igual]
<![endif]-->
<!--[if lt IE 6]>
[Esto se mostrará a versiones anteriores a IE 6. "lt" = menor que]
<![endif]-->
<!--[if lte IE 6]>
[Esto se mostrará a IE 6 y versiones anteriores. "lte" = menor que o igual]
<![endif]-->
Esta info la puedes ver aqui:[url=http://www.disenorama.com/tutoriales/comentarios-condicionales-para-ie]
Tambien es bueno estar revisando una y otra vez el código par ver si hay alun espacio o punto que hayas dejado sin querer. Espero te haya servido