Нет, не совсем в том смысле, о котором вы спрашиваете. Потому что то, что происходит, не на самом деле , что значение наследуется в любом традиционном смысле, но дочерний элемент управления частично прозрачен как прямой эффект нахождения внутри частично прозрачного контейнера.
Вы можете обойти это, хотя, во многих ситуациях.
Так что это не сработает:
<div id="parent" style="opacity: 0.5; background-color: red;">
<div id="child" style="opacity: 1"> Still just 50% visible </div>
</div>
Но вы могли бы сделать что-то вроде этого:
<div id="wrapper" style="position: relative;">
<div id="parent" style="position: absolute; top: 0; left: 0; opacity: 0.5; background-color: red; width: 100%;"> </div>
<div id="child" style="position: absolute; top: 0; left: 0;"> This will be 100% visible </div>
</div>
Есть несколько предостережений, но это единственный хороший способ достичь того, чего вы хотите.
В этом примере я имею дело с одной строкой текста, а в «родительском» я включаю
, который также будет занимать одну строку по высоте. Если ваш «ребенок» имеет больший рост, «родитель» не будет расти, потому что он на самом деле совсем не родитель. Вам придется вручную установить высоту.
Вам также придется вручную указать ширину, поскольку вы имеете дело с абсолютно позиционированными элементами.
Я скажу, тем не менее, прежде чем люди начнут говорить, что абсолютное позиционирование является настолько ужасным способом решения проблем проектирования, что есть один случай, когда я думаю, что это совершенно законно: когда речь идет о position: relative
, как Приведенный выше пример, и абсолютно позиционировать элемент на основе , что , а не на всем окне.