Я наткнулся на проблему с отображением двух перекрывающихся элементов с opacity = .5. Элементы абсолютно одинаковы и расположены абсолютно. Один находится поверх другого. Здравый смысл подсказывает, что эффект должен дать нам изображение со 100% непрозрачностью (0,5 + 0,5 = 1), но это не так.
Я был бы очень признателен, если бы кто-нибудь позаботился о том, чтобы объяснить механизм рендеринга таких элементов, потому что, очевидно, есть некоторые основные проблемы, которые я не получаю.
HTML:Элементы перекрытия CSS и непрозрачность
<div class="test">
<img src="..." alt="" width="200" height="200" class="t"/>
<img src="..." alt="" width="200" height="200" class="t"/>
</div>
<img src="..." alt="" width="200" height="200" class="test"/>
CSS:
.test{
float: left;
position:relative;
width: 200px;
height: 200px;
}
.test .t{
position:absolute;
top:0;
left:0;
opacity: 0.5;
}
jsFiddle
Благодаря
Ваш не просто добавление изображения к изображению. Там тоже белый фон. Первое изображение смешивается с белым. Второе изображение смешивается с результатом первого микса. – TheSavage
** Это не ** 0,5 + 0,5, а ** ** 0,5 * 0,5 **, что на 75% непрозрачно. Используя ваше мышление, как три элемента выглядят как уложенные друг на друга с непрозрачностью 0,5? 150% непрозрачный? Ну нет. Они были бы непрозрачными на 87,5%. –
@TheSavage, белый фон имеет 0 влияние на непрозрачность элементов. Не путайте яркость с непрозрачностью. – brouxhaha