Применить режим наложения только к тени
Можно ли смешивать только тень элемента с цветом перекрываемого элемента?
Например: у меня один элемент перекрывает другой. Элемент сверху имеет светло-серую тень. Элемент ниже черный. Я не хочу, чтобы какое-либо смешение применялось к какому-либо из самих элементов, но хочу, чтобы падающая тень перекрывающегося элемента сливалась с цветом элемента ниже, создавая более темный серый цвет, где тень падает на перекрывающийся элемент.
Если бы я хотел применить эффект ко всему элементу, включая тень, то этого можно добиться, используя mix-blend-mode: multiply. Я действительно хочу использовать микс-режим смешивания только для тени - это можно сделать?
1 ответ
Вы не можете сделать это, но то, что вы можете сделать, это применить тень к псевдоэлементу, который имеет тот же размер и использует режим смешанного смешивания.
.above {
position: absolute;
background: green;
width: 100px;
height: 100px;
}
.above::before {
box-shadow: 3pt 3pt 0 0 dodgerblue;
mix-blend-mode: multiply;
content: " ";
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
}
.below {
position: absolute;
top: 50px;
left: 50px;
width: 100px;
height: 100px;
background: red;
}
<div class="below">
</div>
<div class="above">
</div>
Я использовал эти цвета в иллюстративных целях, но вы можете заменить их своими.