I want apply opacity for parent but I do not want the child element to inherit this opacity.
<div class="parent">
<div class="child"></div>
</div>
.parent {
opacity: 0.6;
}
Is there a way to “cancel” the inherited opacity? maybe force it to opacity=1for the child element?
The opacity of the child will always be the opacity of the parent if the opacity of the child is 1.
This is not a problem with inheritance, but rather with the way opacity is calculated.
For instance,
#quarter‘s opacity, from your perspective, is the same as that of#parent div, but in actual fact,#parent divhas twice the opacity of#quarter. See this jsfiddle for more detail: http://jsfiddle.net/HUaNm/The only way to avoid this is to move the child out of the parent. Alternatively, depending on what you want here, you can also use
rgbacolors for the background/border/font color of the parent instead of opacity, but the effect is not the same as applying opacity.