There’s something amazing about how Internet Explorer can drive you crazy, it’s real genius here.

Anyway, I was reported a crash of IE8 with a SysFader exception. There’s some documentation about how to fix that as a web visitor, but not so much as a web designer. The only one I found was even missleading.

Simply put, IE crashed because I tried to compensate for … an IE weakness! IE6 can’t handle png transparency, so I use IE PNG FIX, but that would cause IE8 to crash.

IE PNG requires you to add something in your css that looks like that:

body, img, div { behavior: url(../images/iepngfix/iepngfix.htc) }

The fix was easy: just use a CSS hack to target IE6 and below only, with an underscore before “behavior”.

body, img, div { _behavior: url(../images/iepngfix/iepngfix.htc) }

And that was it. IE8 doesn’t crash anymore, and IE6 gets png transparency.