Couleur "transparent" ne fonctionne pas

j'ai un problème avec IE (quoi d'autre?):

je génère du contenu avec CSS qui a aussi une image de fond. Je ressemble à ça:

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

La couleur du texte est dans les navigateurs non-IE-transparent, mais dans tous les navigateurs IE (IE6-IE8) il est noir et vous pourriez le voir. Comment rendre le texte transparent / invisible?

j'ai déjà essayé: visibilité - opacité - filtre - texte-tiret ... Mais aucun n'a fait son travail correctement, soit il disparaît (avec lui dont j'ai besoin) ou de l'attribut ne s'applique pas.

18
demandé sur James Donnelly 2010-05-07 20:45:23

10 réponses

si ce que vous essayez de faire est de montrer l'image comme arrière-plan et de ne pas montrer le texte

font-size:0px

ça marche!!!

42
répondu Juan 2011-10-20 08:34:53

qu'en utilisant la hauteur de la ligne

line-height:0;

cela a fonctionné dans mon cas.

7
répondu Arsenal Fanatic 2014-10-10 17:28:09

- je l'obtenir: Avec le bon rembourrage et un zéro font-size! Définissez la valeur padding-left à un pixel au-delà de la largeur de l'image.

5
répondu Poru 2011-10-20 15:19:11

si cela ne fonctionne pas dans Internet Explorer 8

font-size: 0;

assurez-vous d'utiliser un doctype valide:

<!DOCTYPE html>
4
répondu Sarah-Jane 2013-05-15 16:39:12

ça devrait marcher. Si elle n'ajoute pas display: block ou inline-block

.transparent {
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
}
2
répondu tbela99 2014-05-06 10:32:07

je pense que personne ne les versions d'IE de soutien color: transparent Peut-être pourriez-vous essayer de le faire avec jQuery ou quelque chose comme ça.

1
répondu Venemo 2010-05-07 16:59:20

je suppose que vous avez déjà corrigé ceci, mais dernièrement j'ai utilisé une très grande hauteur de ligne, quand text-indent me donne des problèmes de mise en page, combiné avec overflow: caché pour cacher le texte.

1
répondu Mario Estrada 2010-12-08 00:13:09

IE ne supporte pas li:after de façon constante. De quelle IE parles-tu? IE6? IE7? Les deux?

0
répondu Armstrongest 2010-05-07 16:49:01

pour moi Couleur:transparent ne fonctionnait pas dans IE8, et il montrait du texte avec la couleur par défaut. J'ai utilisé visibility: hidden; pour IE8 seulement car le texte n'était pas nécessaire d'afficher.

espérons cette aide au cas où, si l'élément n'est pas nécessaire d'afficher.

0
répondu pravin deshmukh 2015-09-08 06:00:32

je vois que vous utilisez un PNG comme image de fond. Normalement, si vous utilisez IE 6, Il y a une correction pour la transparence PNG (http://www.twinhelix.com/css/iepngfix/). Même ainsi, cela ne fonctionnera pas avec l'arrière-plan-images. Donc si vous utilisez IE 6, il n'y a vraiment pas de solution.

-1
répondu Robusto 2010-05-07 16:53:05