Я экспериментировал с backdrop-filter
в последнее время, обычно использую его для размытия всего, что находится за элементом (что является динамическим, поэтому Я не могу просто использовать такие вещи, как this ). Однако мне также нужно было применить тень к указанному элементу, поэтому я просто добавил box-shadow: /* something, not inset */
.
К сожалению, в результате эффект размытия был распространен на всю область, покрытую тенью (что кажется логичным, так как он называется фон фильтр). Ниже вы можете увидеть его демонстрацию (обратите внимание, что вам понадобится браузер, поддерживающий backdrop-filter
, на случай, если это еще не было очевидно).
#background {
position: absolute;
width: 600px;
height: 300px;
z-index: -1;
background-image: url('https://lorempixel.com/600/300/');
background-repeat: no-repeat;
}
#blurryandshadowy {
display: inline-block;
margin: 50px;
padding: 50px;
background: rgba(255, 255, 255, 0.25);
backdrop-filter: blur(15px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
}
<div id="background"></div>
<div id="blurryandshadowy">
. . .
<br>. . .
</div>
Есть ли способ применить тень, которая не конфликтует (является ли конфликт даже глаголом?) С фильтрами фона?
П.С .: Я знаю, что backdrop-filter
все еще является экспериментальной технологией, и все это может измениться в будущем
P.P.S. (что означает post-post-scriptum): При необходимости я также мог бы использовать JavaScript, поэтому он находится внутри тегов этого сообщения
P.P.P.S .: Конечно, я был бы признателен за ответ только на CSS