[ anon315 @ 14.03.2005. 05:12 ] @
Evo jos jednog primera da je IE s***** !

http://galeb.etf.bg.ac.yu/~seven/alfa/

Stavite pointer na ovu ikonicu recimo. (ili pogledajte bas ovu stranicu koju sada citate u IE-u i ovu ikonicu (vidim da ni Gojko ovo nije sredio))

Pogledajte kako sada ta ikonica izgleda sa leve strane u IE-u !!!

Ocaj, ladno ne podrzava transparenciju. E sad kako lepo izgleda na gornjem crnom meniju - pa iskoristio sam malo java skripta:

Code:


// Correctly handle PNG transparency in Win IE 5.5 or higher.
// http://homepage.ntlworld.com/bobosola. Updated 02-March-2004

function correctPNG() 
   {
   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);


Ali, nazalost, ne radi bas skroz kako treba ! Nece da mi ispravi ikonice na levom meniju, jer sam pojavljivanje celog levog menija realizovao preko java skripta.

Naleteo sam na neko php resenje, ali mi nije nesto uspelo ...

Ima li da je neko ovo resio ?

Pozdrav
[ noviKorisnik @ 14.03.2005. 08:09 ] @
Na mouseOver prikazuješ odgovarajući meni pozivom showit. I sad, (ako je IE) poteraj još istu transformaciju, ali ne nad celim dokumentom, već nad menuobj...

Code:
function correctmenuobjPNG() 
   {
var imgs = menuobj.getElementsByTagName ('images');
   for(var i=0; i<imgs.length; i++)
      {
      var img = imgs[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
         }
      }
   }


Eh da, probaj pa javi...
[ anon315 @ 14.03.2005. 13:04 ] @
Hm, sa ovim js-om uopste ne radi ! :o(
[ noviKorisnik @ 14.03.2005. 13:17 ] @
Naravno, sklepao sam na brzinu - evo jedna greška ispravljena...

var imgs = menuobj.getElementsByTagName ('img');
[ akrosoft @ 14.03.2005. 13:33 ] @
Ima ona kontrola, mislim da se zove pngbehavior.htc za IE...ja sam nju koristio i sasvim ok je radila transparenciju na IE. Proguglaj malo, naci ces je....
[ anon315 @ 14.03.2005. 16:28 ] @
Dejane, ono i dalje ne radi ...

Dusane, nasao sam, ali mi isto ne radi kako valja. Dodao sam ovo u css:

img {
behavior: url("pngbehavior.htc");
}

i imam fajl pngbehavior.htc

Jel samo to treba ? ( tako mi ne radi, sliku pozivam standardno ... )
[ anon315 @ 14.03.2005. 16:38 ] @
Treba da se doda i blank.gif !

Sada se ikonice prikazuju kako treba, ali mi je skroz strana u IE-u zeznutna, katastrofa ...


AA, EVO GA, bravo DUSANE !

Fora je bila da se u ovom slucaju svakoj slici tacno doda velicina da se po defaultu ne bi uzimala velicina blank-a !!!

Dakle, resenje problema je:

http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html
[ Toni @ 25.03.2005. 07:49 ] @
problem je jedino ako stavis png kao background :(

onda ne radi ali sta da se radi :)

IE je to ;)
[ Im_a_Veggie @ 28.03.2005. 22:54 ] @
^ znaci ne postoji nacin da se ie natera da background-image pokazuje sa alfa transp?

meni to bas treba sada. :(
[ Br@nkoR @ 29.03.2005. 10:04 ] @
Možeš koristiti filtere da bi dobio sličan efekat u IE.
[ Toni @ 30.03.2005. 00:33 ] @
Citat:
Im_a_Veggie: ^ znaci ne postoji nacin da se ie natera da background-image pokazuje sa alfa transp?

meni to bas treba sada. :(


ja uspeo nisam a i skoro da sam 100% siguran da nema sanše da se to izvede :(
[ krdr @ 15.04.2005. 16:49 ] @
IE ce tek od verzije 7 podrzati punu png transparenciju. Pozivanje activeX metoda je rizicno i usporava korisnikov racunar.

Tolliko o tome.

Smisli laksi nacin.
[ Zlatko_kg @ 16.04.2005. 16:41 ] @
Citat:
Toni: ja uspeo nisam a i skoro da sam 100% siguran da nema sanše da se to izvede :(



moguce je 100%

http://homepage.ntlworld.com/bobosola/

:.
[ Toni @ 16.04.2005. 17:09 ] @
Citat:
Toni: problem je jedino ako stavis png kao background :(

onda ne radi ali sta da se radi :)

IE je to ;)



Citat:
Zlatko_kg: moguce je 100%

http://homepage.ntlworld.com/bobosola/

:.


NE nije :)

procitaj pazljivo temu pa iznosi procen(t)e :)

aj da ti objasnim...

koji god nacin da uzmes od gore izlozenih rade jednu te istu stvar, samo na raznicite nacine :)

traze sve <img> tagove u html-u i uzimaju vrednosti sirine duzine itd... nebitno.. uglavnom u svaki taj <img> tag dodaju i style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" i tako TERAJU intenet explorer da na taj tag primene filter koji ustvari ucitava iz png-a i alpha layer providnosti.

znaci NE moze da se koristi ako se png koristi kao background u nekoj css klasi.

ovaj... siguran sam 101% :)

Tako da ja mislim da je najelegantnije resenje koristiti onaj hack sa webfx-a.

sta bi jos moga da napisem.... nista pametno :)
[ Toni @ 16.04.2005. 17:22 ] @
Citat:
krdr: IE ce tek od verzije 7 podrzati punu png transparenciju. Pozivanje activeX metoda je rizicno i usporava korisnikov racunar.

Tolliko o tome.

Smisli laksi nacin.


uf uf

pa dok se IE7 ustali na racunarima proci ce MINIMUM 7 godina.

Pa SP1 jos nije stavilo nesto surovo mnogo korisnika, a SP2 je stavilo nesto bedno malo fazon manje od 30% koliko sam citao.

I sta do tada da ne koristim prednosti PNG-a?

A i bez ActiveX-a IE je nestabilan...

danasnji racunari su doboljni da poteraju i mnogo zahtevnije stvari od nekoj behaviora u css ili JS iz ovog primera koji je postavio Zlatko_kg.
[ krdr @ 17.04.2005. 09:19 ] @
Citat:
Toni: uf uf

A i bez ActiveX-a IE je nestabilan...

danasnji racunari su doboljni da poteraju i mnogo zahtevnije stvari od nekoj behaviora u css ili JS iz ovog primera koji je postavio Zlatko_kg.


Jeste, ali poteraj dva filtera... plus je ovo nestandardno, kao i svaki hak koji bi trebalo izbegavati. Pametnije je dobro isplanirati sajt.
[ Toni @ 26.04.2005. 07:38 ] @
Citat:
Toni: znaci NE moze da se koristi ako se png koristi kao background u nekoj css klasi.

ovaj... siguran sam 101% :)


Dobro sada cu sam sebe malo da opovrgnem :)

Evo na ovom dole sajtu sam nasao kako PNG moze da se koristi kao pozadina i da to radi u IE. Opet se radi sa filterima. Problem jedino je sto ne moze da se resi sirina slike koja se stavlja nego je IE razvuce i deformise. Tako da kao sto je na ovom primeru pokazano moguce je koristiti jako lepo providne jednobojne png fajlove za pozadinu nekoh blokova.

http://www.daltonlp.com/daltonlp.cgi?item_type=1&item_id=217