Я не смог воспроизвести ошибку, потому что вы применили это исправление. Но я взглянул на источник. То, как вы анимируете, что индикатор выполнения просто просит ошибок. Попробуйте режим совместимости в IE8, и вы увидите, что он уменьшается, а не растет (потому что элемент центрирован), и что заполненный прогрессбар элемент в 2 раза больше контейнера. То же самое в Chrome и, возможно, Safari.
Вот как бы я это сделал:

(источник: maikumori.com )
Сделать константу, например, 250px. Затем вы должны сделать фоновое изображение того же размера, что и A, содержащее индикатор выполнения, как если бы оно было на уровне 100%.
Тогда:
background-position = B = -1 * Math.Round (A * UploadedSize / FileSize)
Плюсы:
- Занимает меньше разметки
- Если вы сделаете фоновое изображение 2 * A и B = B + A, то у вас может быть пользовательское изображение для «пустого» пространства, поэтому вы можете легко создавать более изящные индикаторы прогресса
- Должно работать в большинстве современных и не очень современных браузеров
- Не создает беспорядка, если у пользователя отключен css / javascript
Минусы:
- A должно быть постоянным
- не проверял = (
P.S.
Извините за ослепительные цвета, потом не могу их поменять ... mspaint