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.

InformationsquelleAutor Rob | 2010-04-01