none
png transparente en internet explorer RRS feed

  • Pregunta

  • Hola:

    Alguien sabe como resolver este problema que tienen las imagenes con fondo transparente.
    No he podido dar con la solución.

    Estoy tratando de poner imagenes estilo 3d en un menú de una página aspx (tambien uso un unico css para el estilo de todas las paginas de mi programa), pero el internet explorer me tira el fondo de un color plomo.


    Gracias.

    viernes, 1 de agosto de 2008 19:25

Respuestas

Todas las respuestas

  • La solución podría ser que utilices gif transparentes en vez de png, es prácticamente lo mismo.

    Saludos!
    lunes, 4 de agosto de 2008 17:53
  • Es que los iconos son en 3d y tienen efectos del photoshop que se pierden al pasarlos a gif (por ejemplo, no se ven definidos).

    De todas maneras el problema es que no se me ven los png transparentes. La idea no es cambiar el tipo de icono, sino por eso usaría botones normales y ya.

    lunes, 4 de agosto de 2008 18:04
  •  

    El problema es de las versiones anteriores del IE7.

     

    Posibles soluciones:

     

    http://www.anieto2k.com/2006/08/28/png-internet-explorer-soluciones-varias/

    http://blog-bazar.com.ar/2008/01/png-transparente-en-internet-explorer.html

     

    Si la respuesta ha sido de utilidad marca la como correcta.

     

    Saludos.

    lunes, 4 de agosto de 2008 18:22
    Moderador
  • Excelente, el primer link me funcionó de inmediato.
    Se me desajustaron algunas imágenes con el parche que sale, pero nada que no se pueda ajustar con el css.
    Muchas gracias.

    La solución es:

    Incluir las siguientes lineas dentro de la pagina aspx (o html) antes de la etiqueta </head>
     <!--[if lt IE 7.]>
    <SCRIPT src="pngfix.js" defer type=text/javascript></SCRIPT>
    <![endif]-->

    Agregar al proyecto el fichero pngfix.js

    Eso es todo, ahora se pueden agregar todas las imágenes png transparentes.
    lunes, 4 de agosto de 2008 19:11
  • Encontré una solución aún mejor:

    Pegar el siguiente código antes de la etiqueta </head>:

    <!--[if lt IE 7]>
            <script type="text/javascript" src="unitpngfix.js"></script>
    <![endif]-->

    y luego añadir al proyecto los 2 archivos que están en el zip.


    Saludos.
    Nota: en el zip viene una imagen gif que debe ir en la carpeta de imagenes de su proyecto, o en cada carpeta donde esten las imagenes png.
    lunes, 4 de agosto de 2008 19:46
  • Bueno, luego de mucho tiempo se me presenta otro dilema con este asunto.

     

    Tengo agregada una imagen en mi pagina funcionando con fondo transparente, sin embargo, al realizar un postback por cualquier funcion que tengo implementada, se pierde la transparencia y la imagen vuelve a aparecer con fondo coloreado.

     

    Como puedo hacer para volver a aplicar el atributo CSS. Algo así es lo que he intentado al recargar pero no me funciona:

     

    Code Snippet

    private void InitializeComponent()

    {

    ...

    this.ImageButton1.CssClass = "imgtransparente"

    ...

    this.Load += new System.EventHandler(this.Page_Load);

    }

     

     

     

     

    Gracias.

     

    lunes, 25 de agosto de 2008 15:22
  • Hola amigo...

    Aqui te pongo una Clase CSS para transparentar los PNG

     

    Code Snippet
    .MnuIzq {
     width: 15px;
     height: 62px;
     background-image: url('/images/MnuIzq.png');
     background-repeat: no-repeat;
     background-position: left;
     filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/MnuIzq.png', sizingMethod='scale');
    }

     

     

    Lo que esta en negrita es lo importante...

     

    NOTA:

    En el programa donde desarrolles prosiblemente te marque error en la propiedad Filter... pero haz caso omiso... el código es compatible con todos los exploradores... ya lo he probado en todos... IE6, IE7, IE8, FireFox y Safari... Trabaja al 100%

     

    Para agregarle el código directo a una imagen utiliza la propiedad Style="filter:=.... etc.."

     

    Un saludo... espero que te sirva de algo....

    lunes, 25 de agosto de 2008 16:21
  • Gracias por tu respuesta, pero ya había solucionado el problema de transparentar los png.

     

    El problema ahora es más específico. Cuando hago algún postback en la página, se pierde la transparencia y no se por qué, es como que no se cargara el estilo en la recarga de la página.

     

     

    lunes, 25 de agosto de 2008 18:06
  • Llama a la funcion javascript cada vez que hagas un postback o mete un updatepanel que enmarque la pagina.
    martes, 26 de agosto de 2008 6:27
  • No utilizo ajax.

     

    Tampoco se como volver a agregar el estilo cuando se recarga la pagina, o mediante una funcion javascript.

     

    martes, 26 de agosto de 2008 13:33
  • continuaré la discusión en este otro tema, ya que está más ligado a lo que busco ahora.

     

    http://forums.microsoft.com/MSDN-ES/ShowPost.aspx?PostID=3737625&SiteID=11

     

     

    martes, 26 de agosto de 2008 19:34