Si usas internet explorer 5.5 o superior en windows, notaras que que las imagenes con extension .png con transparencias lucen horribles. Esto es porque Microsoft su gran "sabiduria", no incluyo soporte para transparencias alpha en esas versiones de Internet Explorer.
Entonces, que opciones tenemos?
Podrias usar imagenes .gif o .jpg, esta es la opcion mas sencilla.
O podrias usar un soporte de internet explorer para el filtro AlphaImageLoader
http://support.microsoft.com/default...b;en-us;294714
o, un javascript workaround.
Hay también una buena solución Javascript aqui:
http://homepage.ntlworld.com/bobosola/pnghowto.htm
Los detalles de los metodos son mostrados en dicho articulo en el apartado A de la lista.
Otro metodo es usar graficos png con transparencias alpha en tu archivo de css, y sobreescribirlo con transparecias-index gifs para IE en otro archivo css. Puedes usar una declaración condicional para llamar un segundo, unicamente archivos css IE.
Código PHP:
<!--[if lte IE 7]> <link href="http://sitename.com/templates/css/ie6.css" type="text/css" rel="stylesheet" media="all"/> <![endif]-->
Cual es el mejor metodo?
Cada uno tiene sus pros y sus contras
Convertir tus imagenes a .gif es lo mas sencillo, pero los gifs no brindan los mismo niveles de control sobre tus transparencias (no hay transparencias alpha, no hay grados de transparencias) y el tamaño de los archivos es usualmente mayor. PERO, todos los navegadores soportan gifs.
Usar el filtro AlphaImageLoader hara que tu css no sea valido. Internet Explorer lo reconoce, pero otros navegadores no, ademas hay reportes de algunos problemas con otros navegadores.
El metodo del Javascript es mejor que usar el filtro AlphaimageLoader, PERO añadir mas Scripts a tu sitio incrementa el tiempo de carga, ademas de que algunos deahabilitan los Scripts en sus navegadores.
Mi recomendación:
Si de verdad necesitas usar archivos png con transparencias entonces te recomiendo la solucion del Script de Java desde el link de arriba. Esta solución lleva minimos ¿?, require poco codigo adicional al index.php de tu template, y el ¿entorno de trabajo? trabaja bien en todos los navegadores porque es llamado desde una declaración condicional que solo internet explorer ve. La declaracion condicional que usan es tambien para todas la versiones, "si es menor que Internet Explorer /, entonces.."
Espero que te sea de utilidad.