Dans cet exemple, j'essaie de rendre l'élément parent plus transparent sans modifier l'opacité des éléments enfants.
<div> <div className="larger-box"> <div className = "smaller-box"> </div> </div>
Voici mon style CSS actuel :
.larger-box{ width: 10rem; height: 10rem; background-color: red; } .smaller-box{ width: 2rem; height: 2rem; background-color: green; opacity: 1 !important; }
Est-il possible d'obtenir cet effet en CSS ?
Vous pouvez utiliser CSS
not
.Les enfants seront toujours affectés par l'opacité de leur parent, donc le moyen le plus simple de leur donner une opacité différente est d'en faire des éléments frères et de positionner le deuxième élément absolument au-dessus du premier, donnant ainsi à chaque élément sa propre opacité. Veuillez noter la position : relative du div d'emballage parent.
Ici, j'ai du texte affiché derrière un div rouge avec un div vert au-dessus, comme s'il s'agissait d'un élément enfant, mais en réalité c'est un élément frère et n'est donc pas affecté par l'opacité du div rouge. Ainsi, le texte apparaît à travers le div rouge, mais pas le div vert.