You can fix IE with CSS expressions. Serve the following to IE with conditional comments:
/* 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
);
}
If you're not able to alter the source to include a conditional comment, you can get around it with CSS hacks, but it's not recommended:
#bottom-fixed-element {
position: fixed;
bottom: 0;
right: 0;
_position: absolute;
_top: expression(
document.body.scrollTop + document.body.clientHeight - this.clientHeight
);
}
Edit
If you need to support both quirks and standards mode, you can test in the expression:
top: expression(
(document.compatMode && document.compatMode == 'CSS1Compat') ?
(documentElement.scrollTop + documentElement.clientHeight - this.clientHeight) :
(document.body.scrollTop + document.body.clientHeight - this.clientHeight)
);