Hallo Zocker,
Ich hab auf meiner Site ein Image Map erstellt das im
Firefox,Opera,IE auch gut funktionierte. Ebenfalls hab ich
*png Bilder drauf welche auf dem IE nicht transparent
angezeigt wurden.
Die Probleme gibt es aber mit dem IE7 nicht mehr, der kann PNGs mit Teiltransparenzen ohne Weiteres anzeigen. Wahrscheinlich sprichst du nur vom veralteten IE6.
Deshalb hab ich ein JS Code eingebunden und
nun funktionieren die Image Maps unter IE nicht mehr. An was
liegt das???
In solchen Elementen, denen über AlphaImageLoader ein PNG-Bild als Hintergrundbild zugewiesen wird, sind enthaltene Links nicht mehr klickbar und ist enthaltener Text auch nicht mehr markierbar. Das ist einfach so.
Mit deinem Skript passiert ja nichts anderes, als dass ein PNG-Vordergrundbild durch ein transparentes Blindpixel-Bild im GIF-Format in passenden Maßen ausgetauscht wird und dass diesem transparenten „Bild” dann das ursprüngliche PNG-Bild wieder als Hintergrundbild zugewiesen wird. Offensichtlich ist es auch bei Hotspots eines Bildes dann so, dass sie dann durch das als Hintergrundbild zugewiesene Bild verdeckt werden, so als ob es in Wirklichkeit darüber läge.
Die einzige Alternative, die du hast, ist die, dass du mit einem absolut positionierten Layer dein PNG-Bild von vornherein als Vordergrundbild in eine Schicht unter einem volständig leeren, transparenten GIF legst, dem du die Image-Map zuweist.
Mit Imagemaps habe ich das noch nicht ausprobiert, aber mit Links, hinter denen ein PNG-Bild als Hintergrundbild liegt und die weiterhin auch im IE6 klickbar sein sollen.
Das sollte wohl auch bei Bildern mit Imagemap funktionieren. Ich mache es meist so:
div.pngBg { display:none; } /* für vernünftige Browser */
.ankerElement { position:relative; } /* um pngBG-Kindelement an Elternelement auszurichten */
* html .ankerElement div.pngBg { /* für IE6 */
filter:stuck_out_tongue:rogid:smiley:XImageTransform.Microsoft.AlphaImageLoader(src=‚bg_calendar.png‘, sizingMethod=‚image‘);
display:block;
position:absolute;
top:0;
left:0;
z-index:-1;
width:100%;
height:expression(parentNode.offsetHeight + ‚px‘);
}
Gruß Gernot