Transparent PNG backgrounds in IE6

dorfire

OSNN Junior Addict
Joined
7 May 2008
Messages
25
The solution is well known when we're talking about plain <img> tags, but it's not that trivial when we put the image as a CSS background.
I didn't want to convert my background images to GIF, so I wrote this Javascript code:
Code:
window.onload = function()
{
	var elementIdentifiers = ['element_with_png_bg_ID', 'id2', 'id3'];
	
	for (var i in elementIdentifiers)
	{
		var currentElement = document.getElementById(elementIdentifiers[i]);
		if (!currentElement) continue;
		
		var backgroundImage = currentElement.currentStyle['backgroundImage'];
		var backgroundImageUrl = backgroundImage.substring(5, backgroundImage.length-2);
		var filterString = "progid:DXImageTransform.Microsoft.AlphaImageLoader  (src='"+backgroundImageUrl+"', sizingMethod='scale')";

		currentElement.style.backgroundImage = 'none';
		currentElement.style.filter = filterString;
	}
}

If you want the code to be executed only in IE6 and lower versions, use this conditional comment:
Code:
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="iepngfix.js"></script>
<![endif]-->

Hope it helps...
 

MikeRS

OSNN Junior Addict
Joined
3 May 2008
Messages
20
You might also want to look at IE7/8.js for working around a lot of the design flaws in Internet Explorer.

I've put it on a few websites before, and it usually does the job fairly well for those poor IE users left in the world. I like to write pages as the markup is intended to be used, but IE doesn't make it easy, heh.
 

Members online

No members online now.

Latest profile posts

hello peeps... is been some time since i last came here.
Electronic Punk wrote on Sazar's profile.
Rest in peace my friend, been trying to find you and finally did in the worst way imaginable.
Terrahertz wrote on Electronic Punk's profile.
Yo fellas!
Electronic Punk wrote on Sazar's profile.
Where are you buddy?
Perris Calderon wrote on Electronic Punk's profile.
Hey EP! All good with me, applying for Microsoft MVP right now, should have done this a while ago.

Notifications don't work, I only found your response by coming back to hunt up some threads, if you want, give me your email address so we can keep in touch easier!

Forum statistics

Threads
62,000
Messages
673,425
Members
5,593
Latest member
moussa021