After many hours of searching and hacking I finally found this document explaining how to avoid a flickering position:fixed in IE. Most documents will simply say you need:
#dashboard{
position:fixed !important;
position:expression('absolute');
top:0px !important;
top:expression('body.scrollTop');
}
This is leaving out one important part. The solution that seems to work is to add a background fixed to the body tag
body{
background:url(foo) fixed;
}
Software
CSS, IE6
“Here’s the problem: Internet Explorer forgets to look into its own cache when inserting HTML via JavaScript DOM manipulation (read: if you use img tags or any tags with CSS background images, Internet Explorer will always try to redownload these images). Read the detailed account on this.
Microsoft says it’s designed that way. Well, Sure.
“There’s an other bug in Intenet Explorer (unrelated?) that causes caching of images in CSS only happen with relative paths, so never use background-image:url(/images/blah.png) but do a background-image:url(../images/blah.png), relative to the path your CSS file is in.”
It’s an older article, but hopefully has a little of something for everyone. –> Speaking loudly against IE is only in our interest as consumers and users of the web!
Update: More details about IE caching bug can be found here: http://www.ahinea.com/en/tech/ie-dhtml-image-caching.html
Software
Caching, IE6, Performance
Recent Comments