webForumDet fria alternativet

Transparant png i IE?

HTML & CSS

8 svar · 1 022 visningar · startad av maqe

Medlem sedan dec. 2003824 inlägg
Frågan#1

Finns det något bra sätt att använda png bilder med transparens i IE?

Medlem sedan dec. 20042 245 inlägg
#2

Du kan använda alphaimageloader.

#foo {
 width:300px;
 height:150px;
 background:url(foo.png);
 _background:none;
 _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="foo.png"; sizingMethod="scale");
}
Medlem sedan juni 20034 013 inlägg
#3

maqe skrev:

Finns det något bra sätt att använda png bilder med transparens i IE?

Nej, det finns inget bra sätt. Men det ska vara fixat i version 7 av IE, så det är väl bara att vänta.

Medlem sedan feb. 2006117 inlägg
#4

På alla sajter jag bygger så inkluderar jag det här skriptet på alla sidor så slipper man tänka på om man använder transparens i png eller inte.

<!--[if gte IE 5.5000]>

<script language="JavaScript">

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.

   {

   for(var i=0; i<document.images.length; i++)

      {

	  var img = document.images[i]

	  var imgName = img.src.toUpperCase()

	  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")

	     {

		 var imgID = (img.id) ? "id='" + img.id + "' " : ""

		 var imgClass = (img.className) ? "class='" + img.className + "' " : ""

		 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "

		 var imgStyle = "display:inline-block;" + img.style.cssText

		 if (img.align == "left") imgStyle = "float:left;" + imgStyle

		 if (img.align == "right") imgStyle = "float:right;" + imgStyle

		 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle

		 var strNewHTML = "<span " + imgID + imgClass + imgTitle

		 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"

	     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"

		 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"

		 img.outerHTML = strNewHTML

		 i = i-1

	     }

      }

   }

window.attachEvent("onload", correctPNG);

</script>

<![endif]-->
Medlem sedan aug. 20039 340 inlägg
#5

tydal skrev:

Nej, det finns inget bra sätt. Men det ska vara fixat i version 7 av IE, så det är väl bara att vänta.

Jo, här finns det ett bra sätt, som fungerar sömlöst med IE. (Att sätta src fungerar utmärkt t ex)

Medlem sedan dec. 2003824 inlägg
#6

nitro2k01 skrev:

Jo, här finns det ett bra sätt, som fungerar sömlöst med IE. (Att sätta src fungerar utmärkt t ex)

IE 5 fungerar det inte med och tyvärr är det ett krav, ned till IE5 och inte javascriptberoende.

Medlem sedan dec. 2003824 inlägg
#7

Det känns som att detta problem skall man inte ha idag hehe ... Jag har en logga som skall ligga ovanpå en banner och det är omöjligt. Känns som att man är tillbaka på 80-talet

Medlem sedan aug. 20039 340 inlägg
#8

maqe skrev:

Det känns som att detta problem skall man inte ha idag hehe ... Jag har en logga som skall ligga ovanpå en banner och det är omöjligt. Känns som att man är tillbaka på 80-talet

Njaaa, men val 90-talet dock, nar IE5 slapptes. Det gar inte att fa detta att funka i IE5, varken med eller utan javascript.

Medlem sedan dec. 2003824 inlägg
#9

Okay, då får vi tänka om :) Tack för hjälpen

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)