Puedes recibir las actualizaciones gratis por email

Solución a la transparencia PNG en IE 6 (I)

ie-6-vs-ie-7-png8-transparency

Internet Explorer 6 tiene un gran fallo, no le gustan los PNG, así que tratará la transparencia de ellos (su punto más fuerte), como si no la tuvieran. Ha habido muchos fix y hacks por los siglos de los siglos, pero aquí te traemos otro que da resultado.

Los pasos a seguir son muy simples:

  1. Metemos la imagen PNG entre un div con class png-holder (Obviamente “transparent.png” es tu imagen PNG que quieres que tenga transparencia en IE 6:
  1. Así ya funcionaría en IE 7, 8, Firefox, Safari y Opera, pero para que funcione en IE 6 Hace falta un paso más. Definimos el código CSS:
#png-holder {
	width: 300px;
	height: 150px;
	text-indent: -9999px;
	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/transparent.png', sizingMethod='crop');
}

Como se ve, se usa la propiedad filter de Microsoft. Con esto ya podremos ver nuestra imagen con transparencia en Internet Explorer 6.

Vía | Web Monkey

Sigue la onda...

Puedes recibir gratis más artículos por RSS, Twitter, Facebook o correo electrónico. ¡Muchas gracias por leerme!

Autor de CSSBlog ES

Por ahora hay 9 comentarios ¿Quieres opinar?

01.21.09

Pero el problema de esta solución es que no valida el css..

Ares

01.21.09

Hola Ares, no lo valida ya que la propiedad filter no cumple los estándares, pero es una propiedad creada por Microsoft para su navegador web Internet Explorer, y si no se usa no es posible que IE 6 lea la transparencia de las imágenes PNG.

Saludos.

[...] como un navegador que siga los estándares. Esta librería incluye todo tipo de soluciones: transparencia PNG en IE y otros problemas diversos que afectan a la visualización de la página [...]

01.21.09

Interesante solución, aunque no puedo hacerla funcionar para los backgrounds con png. Tengo unos botones que deberían ser transparentes pero no lo son. Cual sería la solución para esto?

#div { background: url(../images/botones.png) no-repeat 0 0;}

Un saludo!

01.21.09

@Aresillo!!
Si quieres que tu hoja de estilos sea valida, entonces te recomiendo meter estos hacks: filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’/images/transparent.png’, sizingMethod=’crop’);
en una hoja de estilos aparte algo como ie6.css para este tipo de hacks y te quedas con general.css para tu pagina enterera, de este modo, tu hoja de estilos principal general.css SI te va a validar y por supuesto, ie6.css no lo hara, pero a quien le importa validad una hoja de estilos que tiene condicionales…?

01.21.09

no me he enterado de este post
vamos que me suena a chino
pero entro para darte la enhorabuena
porque me he dado una vuelta y he visto tu curriculum
y chapó
voy a estudiar que el domingo tengo oposiciones
saludos

01.21.09

yo ocupé la DD_belated y me funcionó muy bien, soporta background-image que es lo que más les cuesta a estas soluciones y como es un JS no da problemas para validar en css

01.21.09

Ps vamos a ver cque gestos hace el png

01.21.09

buenas,
a mi simplemente no me funciona, sigo viendo la imagen opaca.
gracias de todos modos

Escribir un comentario

Tu comentario:
* El nombre, email y el comentario son requeridos
Comentaristas del mes
Últimos comentarios
  • Boda: Gracias Pedro, lo probaré a ver si me funciona bien porque le iría perfecto a mi blog que...
  • drakkar: hola necesito centrar el menu dentro del div que lo contiene pero mira lo que pasa cuando hago esto: <...
  • Erik: Gracias muchas.. muy bueno!
  • Pedro CM: Ya veo que lo retwitteaste por Twitter, me alegro ;-) . My recent post Pack de 100000 tipografías...
  • JuniHH: Te agradezco muchismo el enlace de los bordes redondeados sin necesidad de JS's raros. Cuando...
Patrocinadores