2009-08-31 8 views
1

je le css suivant:Fond IE et transparent

body { 
    background-image: url(images/background.jpg); 
    background-repeat: repeat-x; 
    background-color: #99ccff; 
} 

Malheureusement, une div créé sur cette page, a maintenant automatiquement cette couleur. Aucune des œuvres suivantes si elles sont appliquées à toutes les divs sur lui la page (il faut toujours la couleur ci-dessus.

bacgkround: none; 
background: transparent; 
bacgkround-color: none; 
background-color: transparent; 

Tout le monde sait comment contourner ce problème (dans IE)? à savoir Comment puis-je faire la div transparent ou ne pas avoir une couleur de fond

EDIT: J'ai téléchargé une capture d'écran ici. http://www.namhost.com/bgtrans.jpg en fait, l'arrière-plan est une image de gradient qui change de bleu foncé, le bleu clair qui est l'arrière-plan dans FireFox, la zone qui dit bradd pitt, est transparente et vous ne voyez pas le contour bleu, mais dans IE, vous voyez ce que vous voyez dans cette capture d'écran

Voici une capture d'écran de ce qui peut être vu dans Firefox: http://www.namhost.com/bgtransfirefox.jpg

+0

Si vous pouvez publier le code HTML, il peut être utile d'identifier le problème. Ou pouvez-vous donner un lien vers la page? – rahul

+0

J'ai ajouté des captures d'écran? – coderama

Répondre

1

Votre hypothèse de couleur de fond semble se tromper. Rendre un arrière-plan transparent signifie que vous obtiendrez l'arrière-plan de l'élément sous-jacent. Je pense que dans ce cas, c'est votre élément du corps. Puisque vous avez défini une couleur d'arrière-plan pour l'étiquette de corps tout l'élément avec la couleur de fond transparente montrera la couleur de fond du corps.

Edit:

Après avoir lu votre commentaire à la réponse ci-dessus, je voudrais savoir si le chemin de l'image est affichée et la largeur de l'image et de la hauteur couvre l'ensemble de l'élément du corps.

+0

J'ai ajouté les modifications dans mon post original. – coderama

+0

J'ai aussi ajouté des captures d'écran! :-) – coderama

0

Mais je pense que c'est ce qui est censé se produire.

Si aucune couleur d'arrière-plan n'est attribuée à div, la couleur de fond du corps sera visible.

Surtout si vous dites que le fond div est transparent.

+0

Peut-être que je n'étais pas clair. Pour la nouvelle div, j'ai ajouté ces entrées "background: transparent", et la div montre encore l'arrière-plan du corps, et non pas le rendre transparent. – coderama

+0

Je crains de ne pas l'avoir encore ... ne décrivez-vous pas une situation où l'arrière-plan du corps est visible PARCE QUE l'arrière-plan de la div est transparent? – pavium

+0

Non je ne suis pas. :-) Voir mon commentaire ci-dessus. J'ai oublié de mentionner que la page a aussi une image de fond. Je vais voir si je ne peux pas mettre un exemple en ligne. – coderama

2

pas sûr que ce qui va mal ici (si quelque chose ne va pas du tout), transparent et aucun ne signifie que la div ne devrait pas avoir sa propre couleur et donc vous verrez à travers la div à l'arrière-plan du conteneur parent ... .si aucun des parents n'a une couleur, alors vous verrez l'arrière-plan du corps/page

+0

Ok. Plus d'informations. le corps a une image de fond ET une couleur. Et la div est sur la partie IMAGE de l'arrière-plan. Donc, en théorie, si c'était transparent, vous devriez voir l'image. Cependant, je vois la couleur. J'ai ajouté une bordure autour de lui, ce qui rend clair que la div est en fait une couleur unie et non transparente. – coderama

0

pas sûr de ce que vous attendiez. Je reçois un comportement cohérent dans Firefox et IE pour ce code:

<html> 
<style> 
body 
{ 
    background: green; 
} 
.a 
{ 
    bacgkround-color: none; 
} 
</style> 
<body> 
<div class="a">hello</div> 
<div>world</div> 
</body> 
</html> 

si cela est un scénario plus complexe, avez-vous utilisé DebugBar pour vérifier le style appliqué, ou au moins Firebug sur Firefox pour voir ce qui est appliqué?