2011-10-14 9 views
34

Tengo un error extraño. Estoy tejiendo una imagen semitransparente de amarillo 1x1 píxel PNG en un DIV que se superpone a un texto. Con normal navegadores, todo parece que debería. Hay algo de texto y una superposición amarilla, semitransparente encima.Internet Explorer 8 muestra gradiente en lugar de imagen de fondo

This is how it looks in Chrome

En Internet Explorer 8 sin embargo, en lugar de la imagen PNG embaldosado 1x1, se muestra un gradiente (!).

This is how it looks in Internet Explorer 8

El CSS es bastante simple:

.edit_section_overlay { 
    position: absolute; 
    z-index: 150; 

    top: -6px; 
    bottom: -6px; 
    left: -6px; 
    right: -6px; 

    border: 1px solid #afad9d; 
    background: url('../../images/content/edit/section/overlay/background-color.png') repeat; 

    min-height: 34px; 
    cursor: move; 
} 

nunca he visto un bicho como esto antes y Google no me ayuda ...

He aquí una demostración en jsFiddle, http://jsfiddle.net/jUVfS/

+1

¿Puede darnos un enlace a un sitio de demostración? ¿Y por qué usa una imagen * * de fondo semitransparente en lugar de un fondo * semitransparente * en primer lugar? – phihag

+0

100% seguro de que no está utilizando ningún css específico de IE? Muy extraño efecto – Alex

+1

@phihag Aquí hay una demostración en JSFiddle: http://jsfiddle.net/jUVfS/ (Estoy usando IE8.0.7600.16385) – Lukas

Respuesta

114

Su imagen .png necesita tener dimensiones más grandes, en mínimo1x2 en lugar de 1x1.

Ver: http://nemesisdesign.net/blog/coding/ie8-1x1px-semi-transparent-background-bug/

Internet Explorer 8 no realiza la repetición de un píxel 1x1 imagen fondo semitransparente correctamente cuando cualquier otro elemento en la página está utilizando el "-MS- filter " drective para la transparencia alfa.

+0

¡Gracias! Eso lo hizo! – Lukas

+8

¡Me sorprende que no haya habido más personas aquí y hayan votado este tema y respondan porque es muy común! +1 –

Cuestiones relacionadas