El problema
Las imágenes PNG transparentes permiten crear hermosos efectos en las páginas Web. Todos los navegadores las soportan (Firefox, Opera, Konqueror, Safari, Camino...)...
excepto Internet Explorer 5.5 y 6! (Internet Explorer 7 si soporta correctamente las PNG transparentes).
Esta situación obliga ya sea a:
- Dejar de utilizar imágenes PNG transparentes.
- O tener 2 versiones de la página (para IE 5.5/6 y para todos los otros navegadores)
La solución
La solución consiste en utilizar un pequeño script de Javascript (2 kb) que permite a IE 5.5 e IE 6 soportar correctamente las PNG transparentes.
http://homepage.ntlworld.com/bobosola/index.htm
La mayor parte del trabajo consiste en poner este script en el sitio:
pngfis.js
y luego añadir en cada una de las páginas:
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
Esto es todo!
Atención: es necesario indicar el tamaño de las imagines PNG transparentes (width y height) en cada etiqueta <img>.
Esto hará que no haya ningún problema en los otros navegadores y no rompa la validación W3C. Únicamente IE 5.5 e IE 6 utilizarán este script automáticamente.
Nota: no existe ninguna solución para las versiones de IE anteriores a la versión 5.5
Cómo funciona
El script únicamente es ejecutado por IE 5.5 e IE 6.
Recurre a DirectX para cargar y mostrar las imágenes PNG.
PD: El
artículo original fue escrito por sebsauvage, contribuidor de
CommentCaMarche