将混合模式仅应用于阴影

时间:2018-10-16 14:57:30

标签: html css element dropshadow mix-blend-mode

是否可以仅将元素的阴影与重叠的元素的颜色融合在一起?

例如:我有一个元素与另一个元素重叠。顶部的元素具有浅灰色的阴影。下面的元素是黑色的。我不想对任何一个元素本身应用任何混合,但是希望重叠元素​​的阴影与下面元素的颜色混合,从而在阴影落在重叠元素上时创建一个更深的灰色。

如果我想将效果应用于包括阴影的整个元素,则可以使用mix-blend-mode:乘法来实现。我实际上只想在阴影上使用mix-blend-mode-可以做到吗?

1 个答案:

答案 0 :(得分:0)

您不能执行此操作,但是您可以执行的操作是将阴影应用于大小相同且使用倍增混合模式的伪元素。

.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>

我将这些颜色用于说明目的,但是您可以用自己的颜色替换它们。