Hi everybody.
I have a JavaScript function that is meant to fade in a HTML element.
To do this I use the standard "opacity" style, plus the non-standard IE "filter: alpha" monstrosity.
This all works, except when the element contains text. In that case, IE appears to go all... well, IE on me, and starts rendering the text all funky.
I made an example of this
here.
If you run this in any browser except IE, the two blocks of text will look identical after the left block has faded in. But, IE will render the left block at a totally different level of quality than the right one.
I've done some Googling on this and as I understand it, the filter monstrosity that IE uses is a DirectX thing, which apparently doesn't play well with the ClearType font rendering software that IE uses to render fonts. And in all it's wisdom, to fix the problem, Microsoft simply disables ClearType on the element that uses the filter.
I'm not sure if the type of monitor you use will affect how badly this problem affects you, but I suspect it might be less visible on the old "tube" monitors.
So... my question to you good people is; do you know any way around this problem?
My only idea so far is to simply place a white element on top of the text element and fade that out, but that would be a bit to limiting for any proper use.
O, btw. I have tested this in IE versions 6, 7 and 8 in XP and Vista. All do the same thing.
Thanks for your time.
- Atli Þór