Вы можете исправить IE с помощью CSS-выражений.Подайте следующее в IE с условными комментариями :
/* smooths out the IE expression scroll - foo doesn't need to exist */
body{
background:url(foo) fixed;
}
/* fixed scrolling element */
#bottom-fixed-element {
position: absolute;
right: 0;
top: expression(
document.body.scrollTop + document.body.clientHeight - this.clientHeight
);
}
Если вы не можете изменить источник для включения условного комментария, вы можете обойти его с помощью CSS-хаков, ноне рекомендуется:
#bottom-fixed-element {
position: fixed;
bottom: 0;
right: 0;
_position: absolute;
_top: expression(
document.body.scrollTop + document.body.clientHeight - this.clientHeight
);
}
Редактировать
Если вам нужно поддерживать как причуды, так и режим стандартов, вы можете проверить это в выражении:
top: expression(
(document.compatMode && document.compatMode == 'CSS1Compat') ?
(documentElement.scrollTop + documentElement.clientHeight - this.clientHeight) :
(document.body.scrollTop + document.body.clientHeight - this.clientHeight)
);