Попробуйте вынуть width=50
(оставьте стиль) и посмотрите, изменит ли это что-нибудь. Известно, что IE по-разному вычисляет ширину, и это может вызывать некоторые проблемы (с объявлением стиля оно вам не понадобится, если вы в любом случае не поддерживаете старые браузеры).
Кроме того, какие версии IE имеют проблемы? Вы смотрели в инструментах разработчика IE (F12 для IE8 +), чтобы увидеть, где он получает свою ширину? Наконец, это может помочь, если вы предоставите нам fiddle (или другую демонстрационную версию), показывающую эту проблему в действии, чтобы мы могли видеть, не мешает ли что-то еще.