Как не наследовать стиль от родительского элемента
У меня есть CSS-элемент с непрозрачностью над картинкой на заднем плане. Внутри этого элемента есть изображение, которое наследует непрозрачность, поэтому изображение несколько темнее, чем обычно:
<body>
<div class="trans">
<img class="not_trans" src="test.png">
</div>
</body>
CSS:
body{
background:url(stars.gif);
background-color:black;
}
.trans{
opacity:0.4;
}
img.not_trans{
opacity:1.0;
}
Но изображение все еще наполовину прозрачно.
Как я могу добиться нормального непрозрачного изображения без перемещения img
вне div
?
Если есть много элементов, каскадированных с различными цветами фона, используяbackground-color:rgba(0,0,0,0.4)
вместо opacity
это не простой вариант
Я хочу только одного img
элемент, чтобы не наследовать прозрачность окружающих элементов
По крайней мере, было бы решение с помощью JavaScript:
- переместите тег img в DOM из div
- вместо этого установите проставку
- позиционировать
img
где это было сposition:absolute
Но есть ли решение с помощью CSS?
1 ответ
Используйте RGBA на вашем .trans
вместо непрозрачности! Подобно rgba(0, 0, 0, 0,4); или какой у вас цвет.