CSS opacité et les éléments enfants
<style type="text/css">
div#foo {
background: #0000ff;
width: 200px;
height: 200px;
opacity: 0.30;
filter: alpha(opacity = 30);
}
div#foo>div {
color: black;
opacity:1;
filter: alpha(opacity = 100);
}
</style>
<div id="foo">
<div>Lorem</div>
<div>ipsum</div>
<div>dolor</div>
</div>
Dans l'exemple ci-dessus, l'opacité de div#foo
est héritée par les éléments enfants, provoquant le texte presque illisible. Je suppose que c'est faux de dire que c'est héréditaire, l'opacité est appliqué à la div parent et les enfants sont de la partie, donc de tenter de la contourner pour les éléments d'enfant ne fonctionne pas parce que techniquement, ils sont opaques.
En général, je viens d'utiliser un alpha png image d'arrière-plan dans de tels cas, mais aujourd'hui, je me demande si il ya une meilleure façon de faire un background d'une div semi-transparent, sans affecter le contenu.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser rgba().
Pour le faire fonctionner dans le vieux-Internet Explorateurs utilisation CSS TARTE. Il y a certaines limitations, mais celles-ci sont traitées dans un rétro-compatible façon: la valeur RVB sera restituée correctement et l'opacité sera ignoré.
La meilleure façon est mise en png transparent à fond..
Si vous utilisez l'opacité, vous auriez à les mettre en DIV distinctes et puis les aligner ensemble. L'arrière-plan DIV aurait du baisser l'opacité, et de premier plan DIV voudrais avoir votre contenu avec 100% d'opacité.