2010-05-07 20 views
18

que tienen un problema con el IE (¿qué otra cosa?):color "transparente" que no trabaja

que generar contenido con CSS que tiene también una imagen de fondo. Me parece que eso:

#nav ul li:after { 
    content: "--"; 
    position: relative; 
    z-index: 99; 
    background: transparent url(image.png); 
    color: transparent; 
} 

El color del texto es en los no-IE navegadores transparentes, pero en todos los navegadores Internet Explorer (IE6-IE8) es negro y se podía ver. ¿Cómo podría hacer que el texto sea transparente/invisible?

Ya lo intenté: visibility - opacity - filter - text-indent ... Pero ninguno hizo bien su trabajo, o bien desaparece (con el fondo que necesito) o el atributo no se aplica.

+1

¿Qué versión de IE? Para aclarar, hay un '- 'negro y eso es lo que no quieres, ¿verdad?No es todo lo que tiene un fondo negro? –

+0

Sí. Versión de IE: ver arriba – Poru

Respuesta

5

lo entiendo: Con el relleno correcto y una fuente de tamaño cero! Establezca el valor de relleno a la izquierda para que sea un píxel más allá del ancho de la imagen.

+1

es posible que desee ampliar esta respuesta con más detalles. –

+0

No tengo el proyecto en línea pero encontré esto CSS cambiado: '#nav li: after {content:". "; relleno: 5px 0px 3px 0px; color: transparente; fondo: url transparente (bg-nav.png) no-repeat 0px 0px; posición: relativa; índice z: 1; } ' – Poru

0

IE no soporta li:after constantemente. ¿De qué IE estás hablando? IE6? IE7? ¿Ambos?

+0

De IE6 a IE8 – Poru

-1

Veo que estás usando un PNG su imagen de fondo. Normalmente, si está utilizando IE 6, existe una solución para la transparencia PNG (http://www.twinhelix.com/css/iepngfix/). Aun así, esto no funcionará con imágenes de fondo. Entonces, si estás usando IE 6, realmente no hay una solución.

+0

Si lo entiendo correctamente, él está hablando sobre el 'color: transparent' que no está funcionando, no el fondo. –

+3

@Pekka: Sí, yo también lo pensé, pero ¿por qué tener una imagen en el fondo si quieres que BG sea transparente? ¿Por qué establecer la propiedad "color" también como transparente? Eso no tiene sentido. Y los contenedores son transparentes por defecto de todos modos. Hay muchas desconexiones aquí. – Robusto

+1

Sé que esta es una vieja pregunta, pero ¿dónde dice que el OP está utilizando un PNG transparente? –

1

Creo que no hay versiones de soporte de IE color: transparent Quizás podría intentar hacerlo con jQuery o algo así.

1

Asumo que ya están fijadas esto, pero últimamente he utilizado una gran línea de altura, cuando el texto-guión me está dando problemas de diseño, combinado con overflow: hidden para ocultar el texto.

7

lo que acerca del uso de line-height

line-height:0;

funcionó en mi caso.

+0

Impresionante, funcionó para mí también. Aclamaciones. –

+0

¡Respuesta anterior, pero fantástica! – MHibbin

42

si lo que estamos tratando de hacer es mostrar la imagen como fondo y no muestra el uso de texto

font-size:0px

funciona!

+0

Solo quería agradecerle por esta sencilla respuesta. Estaba tratando de ocultar el valor no deseado de un botón sin acceso al código subyacente y funcionó. – matt

+0

Dios mío, esto me impidió posiblemente tirar mi computadora portátil por la ventana. Thanks =] – Brade

+1

Esto provoca problemas de accesibilidad y muestra una pequeña línea de texto en algunos navegadores más antiguos. Vea la galería de reemplazo de imágenes de trucos de CSS para más información. – RobW

4

Si esto no funciona en Internet Explorer 8

font-size: 0; 

asegurarse de que está utilizando un tipo de documento válido:

<!DOCTYPE html> 
2

Esto debería funcionar. Si no se le añade display: block o inline-block

.transparent { 
    text-indent: 100%; 
    overflow: hidden; 
    white-space: nowrap; 
} 
+0

Había establecido el desbordamiento del cuerpo en automático. Esto estaba causando un problema de color de representación: transparente para un componente angular en cromo. Hacerla visible de nuevo (configuración de desbordamiento predeterminada) resolvió el problema. – Soggiorno

0

Para mí los colores: transparente no estaba funcionando en IE8, y se muestra el texto con el color por defecto. Utilicé la visibilidad: oculta; para IE8 solo como el texto no fue requerido para mostrar.

Esperanza esta ayuda en caso de que, si no se requiere el elemento para mostrar.