5

Solicito stackoverflow como último recurso. Recibí este error ie6 mientras usaba la imagen en el fondo del enlace. Parece que ie6 desplaza el fondo. ¿Cómo puedo evitarlo?IE6 fondo-posición (?) Problema

En algún ancho se muestra como esto:
alt text http://img135.imageshack.us/img135/8849/badie1.png

Y en otra muestra de esa manera:
alt text http://img522.imageshack.us/img522/8180/badie2.png

IE7 espectáculo & FF esto al igual que lo espera:
alt text http://img142.imageshack.us/img142/2296/goodie.png
Los enlaces se colocan dentro del div que está flotando hacia la derecha.

<a href="/tr" class="menuLink" style="background-image:url(/img/tr.png);">TR</a> 
<a href="/eng" class="menuLink" style="background-image:url(/img/eng.png); margin-right:30px;">ENG</a> 
<a href="/logout" class="menuLink" style="background-image:url(/img/logout.png);"><?=$ui["exit"];?></a> 

    .menuLink { 
    font-family:"Tahoma"; 
    font-size:11px; 
    color:#003300; 
    text-decoration:underline; 
    font-weight: bold; 
    background-position:0% 50%; 
    background-repeat:no-repeat; 
    } 
    .menuLink:hover { 
    font-size:11px; 
    color:#047307; 
    text-decoration:underline; 
    font-weight: bold; 
    } 

Cualquier sugerencia ¿cómo puedo evitar esto?

+0

Pregunta similar: http://stackoverflow.com/questions/594870/fix-for-background-position-in-ie –

+3

Prueba agregar "' zoom: 1' "al estilo de los elementos - hasLayout en IE puede causa algunos errores extraños http://www.satzansatz.de/cssd/onhavinglayout.html.No lo he probado, pero esta es una de las primeras cosas que trato al depurar este tipo de cosas, ya que a menudo cambia la forma en que el fondo se procesa. – cryo

Respuesta

1

que iba a encontrar una solución que funcione para IE6 y utilizar Conditional Comments para filtrar las otras versiones adecuadas para IE7, FF, etc. También me gustaría evitar el uso de porcentajes en el background-position para IE6 (reference).

+0

He intentado usar background-position:center left; en su lugar. Muestra lo mismo. Entonces, ¿qué debería comentar de forma condicional? – turezky

+0

Intente usar un valor de píxel, ya que todo lo que está tratando son píxeles. –

+0

Cambiar el porcentaje a los píxeles no funciona :( – turezky

0

Cambio

background-position:0% 50%; 

a

background-position:50% 50%; 

y añadir

background-repeat: no-repeat; 

Esto centrará la imagen horizontially así como verticalmente y detener la imagen de mosaico.

+0

Si hago esto, mi imagen va detrás del texto :(Y centros allí, necesito las imágenes antes del texto ... – turezky

3

Acabo de toparme con este problema yo mismo y encontré que usar overflow:hidden en el elemento con la imagen de fondo resolvió muchos de mis problemas IE6 (aunque no todos).

+0

¿Resolvió este problema en particular? :) – turezky

+0

¡Lo resolvió! – strongriley

1

como se aconseja en this answer-a somewhat related question, me gustaría recomendar el uso background-position-x y background-position-y en lugar de background-position para IE (pre-IE8).

+0

Desafortunadamente, esto no funciona :( – turezky

1

No puede usar la posición de fondo con ninguna * ie6 .png reparaciones la solución es hacer que la imagen sea un gif o un png de 8 bits.

* Ninguna que yo utilizo/intentado

+1

http: //www.dillerdesign .com/experiment/DD_belatedPNG/- Mantiene las posiciones de fondo. Es el mejor PNO de PNG Fix. Pero me atrevería a adivinar que el PNG Fix también está matando a la posición de fondo. – Mig

+0

@MiG He utilizado el archivo htc fix [link] (http : //www.twinhelix.com/css/iepngfix/) que no mantuvo las posiciones de fondo. DD_belatedPNG mantiene. – Harish

+0

Pude obtener m y PNG de 32 bits para alinearse perfectamente utilizando el desbordamiento: oculto como se recomienda arriba. – strongriley

1

Si tiene padding-top o padding-bottom en su elemento con imágenes de fondo y background-positioning - en IE6 puede cambiar su padding-top: 16px; a margin-top: 16px; y se corrige el problema.

No empuja a otros elementos y dobla el relleno.
De lo contrario, en IE7 e IE8 funciona el atributo de relleno.