Varias soluciones a la transparencia PNG en IE6

Varias soluciones a la transparencia PNG en IE6

La transparencia PNG en Internet Explorer 6 no es posible, pero podemos aplicar algunos hacks para, por lo menos, simularla. Anteriormente publiqué una entrada exponiendo algunas soluciones para hacer posible la transparencia en Internet Explorer 6. Ahora, os enseñaré otros métodos. En muchas ocasiones necesitamos usar imágenes .PNG en nuestros diseños, y también que se muestren correctamente en IE6, así que no nos queda más remedio que tirar de varios métodos, todos, con sus ventajas y desventajas.

PNG Fixes

La mayoría de los PNG Fixes son realizados en javascript, aunque también hay fixes en CSS, ambos con el objetivo de solucionar la transparencia PNG en IE6. A continuación os muestro algunos de ellos:

Ventajas al usar PNG Fixes

  • Es cómodo y fácil instalarlo.
  • Te solucionan el problema en la mayoría de las veces

Desventajas al usar PNG Fixes

  • El soporte a Background-image es muy pobre (especialmente cuando se establecen posiciones y repeats).
  • Es una patada en el trasero si utilizas CSS Sprites
  • Algunas veces la proporción de las imágenes se estropean.
  • Con esto tienes otro archivo javascript en tu página, que la hace más pesada.
  • En soluciones por CSS el código no valida la validación W3C.

Existe un método para solucionar la transparencia PNG en IE6, forzando a IE6 a cargar un fichero .GIF en vez del .PNG. A continuación lo explicaremos.

Código HTML

<div id="myDiv1"></div>
<div id="myDiv2"></div>
<div id="myDiv3"></div>

Código CSS

.section {background:url(briefcase.png) repeat 0 0;}
     #myDiv1 {background-color:#333;}
     #myDiv2 {background-color:#666;}
     #myDiv3 {background-color:#999;}

Essto funciona en todos los navegadores excepto en IE6. Usaremos un hack para que funcione en IE6.

* html .section {background-image:url(briefcase.gif);}

Ventajas

  • Fácil y rápido.
  • No existen problemas con las propiedades del fondo (position + repeat).
  • Compatibles con CSS Sprites (solo necesitas guardar la imagen en otro formato).
  • No se pierden las proporciones de la imagen.
  • W3C Válido.
  • No añades otro archivo al encabezado <head> de tu documento.

Desventajas

  • La calidad de la imagen transparente decrece.
  • Tienes otra imagen extra en IE6.
Autor de CSSBlog ES
  • Otra solución y sin hacer nada en la plantilla es transformar la imagen png a modo de colores indexados.

    Pruebe y me darán la razón.
  • Soluciones para transparencias en IE6 http://bit.ly/5UFFeM


    Este comentario se ha creado en Twitter

  • Soluciones para transparencias en IE6 http://bit.ly/5UFFeM


    This comment was originally posted on Twitter

  • La mejor solución me parece la sustituir los PNGs por GIF vía CSS, es simple y fácil de implementar (es tan simple que nunca se me habría ocurrido). Pero en vez de utilizar un hack CSS que ensucie el código, ¿porqué no utilizar los mismos comentarios condicionales de IE? Muchos ya tenemos una hoja extra para cada versión del desnavegador de los de Redmond.
  • Solucione transparência de #PNG no IE(ca)6: http://tiny.cc/Gzda2


    This comment was originally posted on Twitter

  • Solucione transparência de #PNG no IE(ca)6: http://tiny.cc/Gzda2


    Este comentario se ha creado en Twitter

  • Anda, alegra la vida y Feliz Navidad. A ver si te gusta esto más que el turrón, Un abrazo
    http://blogs.lavozdegalicia.es/manuelguisande/2...
  • Pedro CM
    @Winger: en los inconvenientes de los PNG Fixes se habla en general, no en concreto cada uno.

    Un saludo.
  • Yo utilizo el DD_BelatedPNG y no tengo ningún problema con los Backgrounds, ni con repeat ni position. Es decir, que los Sprites funcionan a la perfección
blog comments powered by Disqus

Sigue este blog por:

Patrocinadores

  • Últimos comentarios

    Patrocinadores


    Get Adobe Flash playerPlugin by wpburn.com wordpress themes