A non-javascript fix for PNG in Internet Explorer

Guess a lot of you have run in to the problem of Internet Explorer (pre 7) failing PNG alpha transparency. So did I on a recent project. Everything's fine in Firefox, IE7, Opera etc. but an ugly grey background shows up in IE6 where transparency is expected.

There are plenty of fixes to this problem. Most of them rely on javascript or php. I tried a few but no success since they mostly seem to target inline images, my problem concerned an image placed as a background-image with CSS.

I finally stumbled across Christopher Schmitt's PNG Image Replacement Technique that combines the Fahrner Image Replacement technique (FIR) with Microsoft's filter property in order to activate the alpha transparency.

What I like about this solution is that it involves no javascript, no extra php hacks or extra gifs. It's pure CSS and handles only background-images but then that was just what I needed.