У меня такое ощущение, что у вас проблема с блочной моделью, потому что вы выполняете рендеринг в режиме Quirks. IE7 + и все другие браузеры используют блочную модель W3C *, в то время как IE6 использует блочную модель IE в режиме причуд.
Блочная модель IE (известная как традиционная блочная модель) включает отступы и границу ширины / высоты элемента.
В блочной модели IE коробка шириной 100px с отступом 2px на каждой стороне, границей 3px и полем 7px на каждой стороне будет иметь видимую ширину 114px.
Блочная модель W3C (которая является стандартной блочной моделью) исключает отступы и границу из ширины / высоты элемента.
В боксовой модели W3C коробка шириной 100px с отступом 2px с каждой стороны, границей 3px и полем 7px с каждой стороны будет иметь видимую ширину 124px.
![Box Models](https://i.stack.imgur.com/PRr6C.gif)
(источник: 456bereastreet.com )
Чтобы IE использовал блочную модель W3C (то, что используется в любом другом браузере), ваша страница должна отображаться в строгом режиме. По умолчанию IE выполняет рендеринг в режиме Quirks.
Чтобы запустить строгий режим в IE, необходимо указать тип документа. Вы можете использовать любой из следующих типов документов:
HTML4 Строгое:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd" >
XHTML 1.0 Strict:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Ваш тип документа должен быть первым, что появится на вашей странице. Это даже до тега <html>
, на отдельной строке. (Добавление пролога <?xml>
заставит IE вернуться в режим Quirks, поэтому удалите его, если он у вас есть).
Больше информации о Quirks / Strict mode здесь:
CSS - режим причуд и строгий режим
Хотя добавление doctype для переключения в стандартный режим может не решить всех ваших проблем, вы по крайней мере предпримете ОГРОМНЫЙ шаг в правильном направлении.