Como la mayoria ya sabe, en IE las imagenes png que tienen filtros "alpha" (secciones con transparencia) no las expone tal como deven ser, amenos claro que hagas algo como esto:
Un archivo .htc llamado "pngbehavior" (pngbehavior.htc) con el siguiente codigo
Cita:
Y agregar el estilo dentro del HEAD de tu pagina asi: <public:component><public:attach event="onpropertychange" onevent="propertyChanged()" /><script>
/// Autor: no se
/// No recuerdo de donde saque este script, zorry :P
/// pero mio no es
var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32";
var realSrc;
var blankSrc = "blank.gif";
if(supported) fixImage();
function propertyChanged(){
if (!supported) return;
var pName = event.propertyName;
if(pName != "src") return;
if( ! new RegExp(blankSrc).test(src))
fixImage();
};
function fixImage(){
var src = element.src;
if(src == realSrc){
element.src = blankSrc;
return;
}
if( ! new RegExp(blankSrc).test(src)){
realSrc = src;
}
if( /\.png$/.test( realSrc.toLowerCase() ) ){
element.src = blankSrc;
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoade r(src='" + src + "',sizingMethod='scale')";
}else{
element.runtimeStyle.filter = "";
}
}
</script></public:component>
/// Autor: no se
/// No recuerdo de donde saque este script, zorry :P
/// pero mio no es
var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32";
var realSrc;
var blankSrc = "blank.gif";
if(supported) fixImage();
function propertyChanged(){
if (!supported) return;
var pName = event.propertyName;
if(pName != "src") return;
if( ! new RegExp(blankSrc).test(src))
fixImage();
};
function fixImage(){
var src = element.src;
if(src == realSrc){
element.src = blankSrc;
return;
}
if( ! new RegExp(blankSrc).test(src)){
realSrc = src;
}
if( /\.png$/.test( realSrc.toLowerCase() ) ){
element.src = blankSrc;
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoade r(src='" + src + "',sizingMethod='scale')";
}else{
element.runtimeStyle.filter = "";
}
}
</script></public:component>
Cita:
Ya solo queda agregar la clase del estilo a tu imagen<style type="text/css" media="screen">.png { behavior:url("pngbehavior.htc"); }</style>
Nota: para esta funcion es nescesario darle el ancho y alto a la imagen
Cita:
Ok, hasta aqui ya esta resuelto este problema... ahora, como hacer para aplicar esta funcion, pero en una imagen de fondo?<img src="imagenes/imagen.png" class="png" width="20" height="20">
Por ejemplo:
Cita:
Como aplicar aqui la funcion de transparencia?<style>.bgpng{ background:url(imagenes/imagen.png); }</style>
De antemano muchas gracias por cualquier solucion que puedan darme